home *** CD-ROM | disk | FTP | other *** search
/ Aminet 7 / Aminet 7 - August 1995.iso / Aminet / comm / mebbs / hack3b13.lha / Hacker.REXX < prev   
OS/2 REXX Batch file  |  1994-08-18  |  164KB  |  4,615 lines

  1. /* Original By Patrick Baker / The Abyss West 402-289-1162 (FAX?) Abyss Software(C)(1990)
  2.    1st Revisions/Conversion to StarNet BBS by:Keith Thibodeaux
  3.    2nd Revisions/Conversion to MEBBSNet BBS by:David Fisher MEBBSNet #3003
  4.            ONLY WORKS ON MEBBSNET v0.153 / mebbsarexx.library v1.5 and on.. */
  5.  
  6. parse arg LineNumber
  7.  
  8. CONFIGFILE = 'MEBBSNet:Doors/Hacker/Hacker.CFG'    /* Path/Name of the ConfigFile */
  9.  
  10. /*   NO MODIFICATION BEYOND THIS POINT WITHOUT PERMISSION !!!! */
  11.  
  12. SIGNAL ON ERROR
  13. SIGNAL ON IOERR
  14. SIGNAL ON SYNTAX
  15. if( ~show( 'l', "mebbsarexx.library" ) )then do
  16.    if( ~addlib( "mebbsarexx.library", 0, -30, 0 ) )then do
  17.       say "Could not open library"
  18.       exit 10
  19.    end
  20. end
  21. DoorName = "Hacker"
  22. Author = "David Fisher"
  23. version = '3.0b13'
  24. compdate = 'August 18, 1994  06:14 PM'
  25. call GetVar DoorName,LineNumber,1
  26. NAME = UPPER(RESULT)
  27. NAME = space(NAME,1,'_')
  28. call GetVar DoorName,LineNumber,9
  29. linelength = RESULT
  30. call GetVar DoorName,LineNumber,10
  31. screenlength = result
  32. call GetVar DoorName,LineNumber,21
  33. ALIAS = UPPER(RESULT)
  34. Call MainVars
  35. call Message DoorName,LineNumber,normal,1
  36. Call CLS
  37. call Message DoorName,LineNumber,green'                     Hacker 'red'v'red||VERSION||normal||green' MEBBSNet Version',1
  38. call blank
  39. call Message DoorName,LineNumber,green'                        By: David Fisher (MN3003)',1
  40. call blank
  41. call Message DoorName,LineNumber,blue'                       (c)1994 ALL RIGHTS RESERVED',1
  42. call blank
  43. call Message DoorName,LineNumber,yellow'                        Original by: Patrick Baker',1
  44. call blank
  45. call Message DoorName,LineNumber,cyan'              1st Revision by: Keith Thibodeaux/Eric Douglas',1
  46. call blank
  47. call Message DoorName,LineNumber,purple'            2nd Revision by: David Fisher 1:3401/12 / 90:180/2',1
  48. call blank
  49. call Message DoorName,LineNumber,white'                  Brought to you by 'BBSNAME' BBS',1
  50. call blank
  51. call nocarrier
  52. call returnc
  53. SIGNAL BEGIN
  54.  
  55. BEGIN:
  56. if exists(SAVE'ERRORLOG') & name=upper(sysopname) then do
  57.   string = cls||name", the error log has entries in it.  Get ready to read."
  58.   call output;call returnc
  59.   call readfile doorname,linenumber,SAVE"errorlog"
  60.   call blank;call returnc;call blank
  61.   call hotkey doorname,linenumber,"Delete error log? (Y/n)";de=upper(result)
  62.   if de ~="N" then do;flnm=SAVE"errorlog";call deletefile;call blank;string = "Deleted error log."
  63.   call output;call blank;call returnc;call blank
  64.   end
  65. end
  66. if exists(SAVE'RESET') then do
  67.      call Message DoorName,LineNumber,italics,1
  68.      call ReadFile DoorName,LineNumber,SAVE'RESET'
  69.      Call Blank
  70.      call nocarrier
  71.      if name = sysopname then do
  72.        Call HotKey DoorName,LineNumber,'Would you like to RESET the game NOW? (y/N) > '
  73.        ans = upper(result)
  74.        if ans = 'Y' then call resetgame
  75.        call Message DoorName,LineNumber,normal,1
  76.        SIGNAL QUICKEXIT
  77.      end
  78. end
  79. if ~exists(SAVE''NAME) then call newuser
  80. call open(file, SAVE'ALIASES', 'R')
  81.     totalusers = readln(file)
  82.       do i = 1 to TOTALUSERS
  83.        ALIAS1 = readln(file)
  84.        NAME1 = readln(file)
  85.        if NAME1 = NAME then do
  86.         ALIAS1 = ALIAS
  87.         NAME1 = NAME
  88.        end
  89.       end
  90. call close(file)
  91. call readuser
  92. call nocarrier
  93. date = date()
  94.   if date ~= NEWDATE then do
  95.   MAINCOUNTER = 0
  96.   if bmoney > 0 then do
  97.    call Message DoorName,LineNumber,normal||cyan'You have earned'red' 10%'cyan' interest on your bank money since your last call.',1
  98.    call Blank
  99.    call Message DoorName,LineNumber,'Your previous balance was: 'red||bmoney||cyan,1
  100.     interest = bmoney * .10
  101.     interest = trunc(interest)
  102.     if interest <= 0 then interest = 1
  103.     bmoney = bmoney + interest
  104.     call Message DoorName,LineNumber,'Your NEW bank balance is:  'red||bmoney||cyan,1
  105.     call returnc
  106.     end
  107.     if protect > 0 then do
  108.       protect = protect - 1
  109.     end
  110.  call outturn
  111.  if protect > 1 then do
  112.  call Blank
  113.  call Blank
  114.  call Message DoorName,LineNumber,'You Have 'protect' days of protection left',1
  115.  call nocarrier
  116.  call returnc
  117.  end
  118. if protect = 1 then do
  119. Call Blank
  120.  Call Blank
  121.  call Message DoorName,LineNumber,'This is your LAST day of protection!!',1
  122.   call returnc
  123.  end
  124. end
  125. Call CLS
  126. if exists(MESS''NAME) then do
  127.    call Message DoorName,LineNumber,bluebak||yellow'Checking Transmissions.....'normal,1
  128.    call open(file, MESS''NAME, 'R')            /* in ''NAME file  */
  129.         messtotal = readln(file)               /* messtotal = number messages */
  130.    call close(file)
  131.  if messtotal > 0 then do
  132.    call Message DoorName,LineNumber,cyan'You have 'green||messtotal||cyan' message(s)'normal,1
  133.  call returnc
  134.    call Message DoorName,LineNumber,'Please hold....',1
  135.    call open(file, MESS''NAME, 'R')
  136.         messtotal = readln(file)
  137.         do I = 1 to MESSTOTAL                  /* read mess''NAME and output */
  138.               Call CLS                        /* new transmissions */
  139.               call Message DoorName,LineNumber,'Transmission #'I,1
  140.               FROM = readln(file)
  141.               COUNT = readln(file)
  142.               call Message DoorName,LineNumber,'Transmission from: 'FROM,1
  143.               call Message DoorName,LineNumber,MENU3,1
  144.              do j = 1 to Count
  145.               LINE.j = READLN(file)
  146.               line.j = left(line.j,linelength-3)
  147.               call Message DoorName,LineNumber,line.j,1
  148.              end
  149.               call Message DoorName,LineNumber,MENU3,1
  150.           call Message DoorName,LineNumber,'End of Transmission #'I,1
  151.           call returnc
  152.         end
  153.    call close(file)
  154.         call Message DoorName,LineNumber,'End of Messages...',1
  155.  end
  156.  if messtotal = 0 then do
  157.   Call Blank
  158.   call Message DoorName,LineNumber,cyan'You have 'green'NO MESSAGES'normal,1
  159.   call returnc
  160.  end
  161.   call open(file, MESS''NAME, 'W')
  162.         call writeln(file, '0')                     /* Delete messages */
  163.    call close(file)
  164. Call CLS
  165. call CONVERSION
  166. if bmoney <= 0 then do
  167.   if money <= 0 then do
  168.    loan = random(1,250,time('s'))
  169.    call Message DoorName,LineNumber,green'You are broke 'alias'!'cyan' The HAA gives you a loan of $'loan'!',1
  170.    money = money + loan
  171.    call nocarrier
  172.    call returnc
  173.   end
  174. end
  175.  
  176. LOTTO:
  177.   date = date()
  178.   if date ~= NEWDATE then do
  179.   MAINCOUNTER = 0
  180.   NEWDATE = date
  181.    Call CLS
  182.    call Message DoorName,LineNumber,normal||cyan'The Hacker lottery costs 'red'$10'cyan' a ticket!'normal,1
  183.    call Message DoorName,LineNumber,normal||green'       Enter 0 to Quit'normal||cyan,1
  184.    Call Blank
  185.    call nocarrier
  186.    Tick = money % 10
  187.    if TICK >= 99 then Tick=99
  188.    call Prompt DoorName,LineNumber,yellow'How many tickets (MAX 'TICK')? ',2
  189.    numtickets = upper(result)
  190.       if numtickets > 99 | numtickets <= 0 then SIGNAL MAIN
  191.       if numtickets <= 99 then do
  192.       if numtickets*10 > money then do
  193.          call Message DoorName,LineNumber,red'You do not have enough money!',1
  194.          call Message DoorName,LineNumber,cyan'You only have 'red'$'money,1
  195.          call returnc
  196.          SIGNAL LOTTO
  197.       end
  198.       totaltic = numtickets*10
  199.       money = money - numtickets*10
  200.       mnywon = 0
  201.       do i = 1 to numtickets
  202.          call randomcolor
  203.          ranwin = random(1,3,time('s'))
  204.          if ranwin = 1 then do
  205.             moneywon = random(1,200,time('s'))
  206.             call Message DoorName,LineNumber,'#'i' Winner $'moneywon'!',1
  207.            mnywon = mnywon + moneywon
  208.            money = money + moneywon
  209.          end
  210.          if ranwin = 2 | ranwin = 3 then do
  211.             call Message DoorName,LineNumber,'#'i' Loser!',1
  212.          end
  213.       end
  214.    end
  215.   Call Blank
  216.   call Message DoorName,LineNumber,cyan'Total Spent for Lotto Tickets 'red'$'totaltic,1
  217.   if mnywon < totaltic then do
  218.   call randomcolor
  219.   call Message DoorName,LineNumber,' You BLEW it!! You are a LOSER!',1
  220.   end
  221.   if mnywon >= totaltic then do
  222.   call Message DoorName,LineNumber,cyan' You have won 'red'$'mnywon,1
  223.   end
  224.   call returnc
  225.   call nocarrier
  226.   signal MAIN
  227. END
  228.  
  229. MAIN:
  230. call outturn
  231. call conversion
  232. call writeuser
  233. call readuser
  234. call nocarrier
  235.   if EXPERT = 0 then call MENU
  236.   if experience >= 3000000 then signal winner
  237.   Call Blank
  238.   call Prompt DoorName,LineNumber,green'MAIN/(Turns Left:'cyan||MAXTURNS-MAINCOUNTER||green')> ',10
  239.   ANS = upper(result)
  240.   if left(ANS,3) = 'HAC' then signal HACKOTHER
  241.   if ANS = 'SPY' then signal SPY
  242.   if ANS = 'VERSION' | ANS = 'VER' then signal VER
  243.   if ANS = 'SYSOP' then signal SYSOPMEN
  244.   if ANS = 'TOP' then SIGNAL TOP
  245.   if ANS = 'DIR' then call MENU
  246.   if ANS = 'HELP' then signal HELPMAIN
  247.   if ANS = 'PARK' | ANS = 'OFF' | ANS = 'QUIT' then SIGNAL BEXIT
  248.   if ANS = 'CD HAA' | ANS = 'HAA' then signal HAA
  249.   if ANS = 'ATM' | ANS = 'CD ATM' then signal ATM
  250.   if ANS = 'CD DIAL' | ans = 'DIAL' then signal DIAL
  251.   if ANS = 'EXPERT' then do
  252.      if EXPERT = 1 then do
  253.         EXPERT = 0
  254.         call Message DoorName,LineNumber,'Expert Mode OFF',1
  255.         SIGNAL MAIN
  256.      end
  257.      call Message DoorName,LineNumber,'Expert Mode ON',1
  258.      EXPERT = 1
  259.      SIGNAL MAIN
  260.   end
  261.   if ANS = 'USER' then call USERLIST
  262.   if ANS = 'TRAN' then signal SENDMESS
  263.   if ANS = 'STATS' then call YOURSTATS
  264.   SIGNAL MAIN
  265.  
  266. VER:
  267. /*    Call Version DoorName,LineNumber
  268.     snver=result */
  269.     SNVER='Not Available'
  270.     Call CLS
  271.     Call Blank
  272.     call Message DoorName,LineNumber,normal"BBS Software          | "red||SNVER,1
  273.     call Message DoorName,LineNumber,normal"Game                  | "red"Hacker V"VERSION,1
  274.     call Message DoorName,LineNumber,normal"Compilation Date      | "red||COMPDATE,1
  275.     call Message DoorName,LineNumber,normal"Your SysOp            | "red||SYSOPNAME,1
  276.     call Message DoorName,LineNumber,normal"Bulletin Board System | "red||BBSNAME,1
  277.     call Message DoorName,LineNumber,normal"Maximum Turns Allowed | "red||MAXTURNS,1
  278.     call Message DoorName,LineNumber,normal"Maximum Protection    | "red||MAXPROTECT,1
  279.     call Message DoorName,LineNumber,normal"Bulletin Result       | "red||BULLOPT,1
  280.     call Message DoorName,LineNumber,normal"Bulletin Path TXT     | "red||BULLPATH1,1
  281.     call Message DoorName,LineNumber,normal"Bulletin Path Gr1     | "red||BULLPATH2,1
  282.     call Message DoorName,LineNumber,normal"Main Door Path        | "red||MAINPATH,1
  283.     call Message DoorName,LineNumber,normal"Save Files Main Path  | "red||SAVE,1
  284.     call Message DoorName,LineNumber,normal"Message Door Path     | "red||MESS,1
  285.     call Message DoorName,LineNumber,normal"BBS Phones Door Path  | "red||PHONES,1
  286.     call Message DoorName,LineNumber,normal"Help Message File Path| "red||HELPME,1
  287.     call returnc
  288.     call nocarrier
  289.    SIGNAL MAIN
  290.  
  291. HELPMAIN:
  292.   Call CLS
  293.   call Message DoorName,LineNumber,normal||MENU1,1
  294.   call Message DoorName,LineNumber,purple' Please enter a 'green'Command'purple' which you need help with.'normal,1
  295.   call Message DoorName,LineNumber,normal||MENU1,1
  296.   Call Blank
  297.   call Message DoorName,LineNumber,green' CD DIAL    EXPERT     HAA     DIR    NUMBERS     PARK',1
  298.   call Message DoorName,LineNumber,' HACKOTHER  TOP        USER    STATS  TRAN        OBJECT',1
  299.   call Message DoorName,LineNumber,' TERM       SPY        ABOUT',1
  300.   if NAME = SYSOPNAME then call Message DoorName,LineNumber,cyan' EDIT       SYSOP'normal,1
  301.   call Message DoorName,LineNumber,normal||MENU1,1
  302.   call Message DoorName,LineNumber,'           To get the object of the game type ''OBJECT''. ',1
  303.   call Message DoorName,LineNumber,'                            Type Q to Quit',1
  304.   call Prompt DoorName,LineNumber,'> ',10
  305.   HELPANS = upper(result)
  306.   if left(HELPANS,1) = 'Q' then SIGNAL MAIN
  307.   if ~exists(HELPME''HELPANS) then do
  308.      call Message DoorName,LineNumber,'No help found on that program/command.',1
  309.      call returnc
  310.      SIGNAL HELPMAIN
  311.   end
  312.   Call CLS
  313.   call RANDOMCOLOR
  314. if HELPANS = 'CD DIAL' then do
  315.      call ReadFile DoorName,LineNumber,HELPME'cd dial'
  316.      call returnc
  317.      end
  318. if HELPANS = 'DIR' then do
  319.      call ReadFile DoorName,LineNumber,HELPME'dir'
  320.      call returnc
  321.       end
  322. if HELPANS = 'EDIT' then do
  323.      call ReadFile DoorName,LineNumber,HELPME'edit'
  324.      call returnc
  325.      end
  326. if HELPANS = 'EXPERT' then do
  327.      call ReadFile DoorName,LineNumber,HELPME'expert'
  328.      call returnc
  329.       end
  330. if HELPANS = 'HAA' then do
  331.      call ReadFile DoorName,LineNumber,HELPME'haa'
  332.      call returnc
  333.       end
  334. if HELPANS = 'HACKOTHER' then do
  335.      call ReadFile DoorName,LineNumber,HELPME'hackother'
  336.      call returnc
  337.       end
  338. if HELPANS = 'NUMBERS' then do
  339.      call ReadFile DoorName,LineNumber,HELPME'numbers'
  340.      call returnc
  341.       end
  342. if HELPANS = 'OBJECT' then do
  343.      call ReadFile DoorName,LineNumber,HELPME'object'
  344.      call returnc
  345.       end
  346. if HELPANS = 'PARK' then do
  347.      call ReadFile DoorName,LineNumber,HELPME'park'
  348.      call returnc
  349.       end
  350. if HELPANS = 'SPY' then do
  351.      call ReadFile DoorName,LineNumber,HELPME'spy'
  352.      call returnc
  353.      end
  354. if HELPANS = 'ABOUT' then do
  355.      call ReadFile DoorName,LineNumber,HELPME'about'
  356.      call returnc
  357.      end
  358. if HELPANS = 'STATS' then do
  359.      call ReadFile DoorName,LineNumber,HELPME'stats'
  360.      call returnc
  361.       end
  362. if HELPANS = 'TERM' then do
  363.      call ReadFile DoorName,LineNumber,HELPME'term'
  364.      call returnc
  365.       end
  366. if HELPANS = 'TOP' then do
  367.      call ReadFile DoorName,LineNumber,HELPME'top'
  368.      call returnc
  369.       end
  370. if HELPANS = 'TRAN' then do
  371.      call ReadFile DoorName,LineNumber,HELPME'tran'
  372.      call returnc
  373.       end
  374. if HELPANS = 'USER' then do
  375.      call ReadFile DoorName,LineNumber,HELPME'user'
  376.      call returnc
  377.       end
  378. if HELPANS = 'SYSOP' then do
  379.      call ReadFile DoorName,LineNumber,HELPME'sysop'
  380.      call returnc
  381.      end
  382. SIGNAL HELPMAIN
  383.  
  384. HACKOTHER:
  385.  FOUNDFLAG = 0
  386.  Call CLS
  387.  If megs <= 0 then do
  388.  call Message DoorName,LineNumber,'You do not have any megs to fight with. Try calling HAA and repair',1
  389.  call Message DoorName,LineNumber,'Your trashed drive first.',1
  390.  call returnc
  391.  signal main
  392.  end
  393.  call Prompt DoorName,LineNumber,green'Hack Whom ('red'?'green' = User List): ',20
  394.  TOHACK = upper(result)
  395.  if TOHACK = 'NULL' | tohack = 'Q' then do
  396.  signal MAIN
  397.  end
  398.  if TOHACK = ALIAS then do
  399.     call Message DoorName,LineNumber,'You cannot hack yourself!',1
  400.     call returnc
  401.     signal MAIN
  402.  end
  403.  if TOHACK = '?' then do
  404.  call userlist
  405.  signal hackother
  406.  end
  407.  call open(file, SAVE'ALIASES', 'R')
  408.          TTUSER = READLN(FILE)
  409.  do i = 1 to TOTALUSERS
  410.     OA = readln(File)
  411.     ON = readln(file)
  412.     if OA = TOHACK then do
  413.        OALIAS = OA
  414.        ONAME = ON
  415.        FOUNDFLAG = 1
  416.     end
  417.  end
  418.  call close(file)
  419.  if foundflag = 0 then do
  420.     call Message DoorName,LineNumber,'User does not exist. Try typing ''USER'' for a Hacker list.',1
  421.      call returnc
  422.     signal MAIN
  423.  end
  424.  call OREAD
  425.   if OPROTECT > 0 then do
  426.   Call Blank
  427.   call Message DoorName,LineNumber,'He is still under protection and is building up his defenses.',1
  428.   call Message DoorName,LineNumber,'Try hacking someone your OWN size!',1
  429.   call returnc
  430.   signal main
  431.   end
  432.   if OMEGS = 0 then do
  433.     Call Blank
  434.     call Message DoorName,LineNumber,'The poor soul''s MEGS have been trashed! But you may try to get some of his',1
  435.     call Message DoorName,LineNumber,'money and/or experience.',1
  436.     call returnc
  437.     Call CLS
  438.     flagset = 1
  439.    signal hackintro
  440. end
  441. if experience > oexperience then do
  442.   difexp = experience - oexperience
  443.   if difexp >= 300000 then do
  444.   Call Blank
  445.   call Message DoorName,LineNumber,'You are far too powerful to be attacking someone that is not your',1
  446.   call Message DoorName,LineNumber,'size. Try hacking some boards!!',1
  447.   call returnc
  448.   signal main
  449.   end
  450. end
  451. signal hackintro
  452.  
  453. HACKHIM:
  454.  YOURTEMPMEGS = MEGS
  455.  Call Blank
  456.  call Message DoorName,LineNumber,OALIAS': 'OMEGS'  You: 'MEGS,1
  457.  Call Blank
  458.  call Message DoorName,LineNumber,'No viruses allowed here! This is a fight of power!',1
  459.  Call Blank
  460.  if EXPERT = 0 then call Message DoorName,LineNumber,red'['green'1'red']'cyan' FIGHT    'red'['green'2'red']'cyan' RUN',1
  461.  Call Blank
  462.  call nocarrier
  463.  call outturn
  464.  call HotKey DoorName,LineNumber,red'['green'1'red' or'green' 2'red' ?]>'
  465.  ANS = upper(result)
  466.  Call Blank
  467.  if ans = '?' then do
  468.     Call Blank
  469.     call Message DoorName,LineNumber,red'['green'1'red']'cyan' Fight   'red'['green'2'red']'cyan' Run',1
  470.     Call Blank
  471.     signal HACKHIM
  472.  end
  473.  if ans = 'NULL' then do
  474.  call nocarrier
  475.  signal HACKHIM
  476.  end
  477.  if ans = 'Q' then do
  478.  call nocarrier
  479.  signal HACKHIM
  480.  end
  481.  if ANS = '2' then do
  482.     maincounter = maincounter + 1
  483.     ranhit = random(1,10,time('s'))
  484.     if ranhit < ODRIVETYPE then do
  485.        call Message DoorName,LineNumber,green'&^!@*&%$#*^%(*^%!(*@^%$#*&%$&(^%!@)*#%(&^%$!(@^#%',1
  486.        call Message DoorName,LineNumber,'$#*^%(*^%!(*@^%$#*&%$&(^%!@)*#%(&^%$*&&^&$&^~(!(@^#%',1
  487.        call Message DoorName,LineNumber,yellow'Wow!  What a blow!',1
  488.        dam = random(1,omegs,time('s'))
  489.        if dam > megs then dam = megs
  490.        megs = megs - dam
  491.        if megs < 0 then call Message DoorName,LineNumber,cyan'You are WASTED!',1
  492.        call Message DoorName,LineNumber,dam||red' Megs'cyan' were trashed on your drive!',1
  493.        OMONEY = OMONEY + MONEY%2
  494.        if MONEY > 1 then MONEY = MONEY%2
  495.     if megs <= 0 then do
  496.        OEXPERIENCE = OEXPERIENCE + YOURTEMPMEGS*100
  497.        if TERMTYPE > OTERMTYPE then do
  498.           OTERMTYPE = TERMTYPE
  499.           if TERMTYPE > 1 then TERMTYPE = TERMTYPE - 1
  500.           if TERMTYPE < 1 then TERMTYPE = 1
  501.        end  
  502.        if DRIVETYPE > ODRIVETYPE then do
  503.           ODRIVETYPE = DRIVETYPE
  504.           if DRIVETYPE > 1 then DRIVETYPE = DRIVETYPE - 1
  505.           if DRIVETYPE < 1 then DRIVETYPE = 1
  506.        end  
  507.        if SCA > 1 then do
  508.           OSCA = OSCA + SCA
  509.           SCA = SCA%2
  510.        end
  511.        if TROJ > 1 then do
  512.           OTROJ = OTROJ + TROJ
  513.           TROJ = TROJ %2
  514.        end
  515.        if BW > 1 then do
  516.           OBW = OBW + BW
  517.           BW = BW %2
  518.        end
  519.     end
  520.     TOTALLOSS = TOTALLOSS + 1
  521.     OTOTALWINS = OTOTALWINS + 1
  522.     OLASTFIGHT = ALIAS
  523.     OTOTALMEGSCRASHED = OTOTALMEGSCRASHED+DAM 
  524.     call WRITEHIM
  525.     call CONVERSION
  526.     end
  527.     TOTALLOSS = TOTALLOSS + 1
  528.     OTOTALWINS = OTOTALWINS + 1
  529.   if money > 1 then do
  530.     moneylost = random(1,100,time('s'))
  531.     if moneylost > money then moneylost = money
  532.     money = money - moneylost+10
  533.     OMONEY = OMONEY + MONEYLOST
  534.     call Message DoorName,LineNumber,'You just lost $'moneylost+10'!',1
  535.     call WRITEHIM
  536.     Call Blank
  537.   end    
  538.  signal MAIN
  539.  END
  540.  if ANS = '1' then do
  541.     maincounter = maincounter + 1
  542.     if omegs <= 0 then signal NOMEG
  543.     TOHIT = random(1,10,time('s'))
  544.     if TOHIT < TERMTYPE+1 then do
  545.        ydam = random(1,megs,time('s'))
  546.        if ydam > OMEGS then ydam = OMEGS
  547.        OMEGS = OMEGS - YDAM
  548.        call Message DoorName,LineNumber,cyan'You plaster 'red||YDAM' megs'cyan' on his/her drive!',1
  549.        if OMEGS <= 0 then do
  550.           call Message DoorName,LineNumber,yellow'He is obliterated!',1
  551.           experience = experience + othermegs*1000
  552.           money = money + OMONEY%2
  553.           findmoney = omoney
  554.           omoney = omoney - OMONEY%2
  555.           call RANDOMCOLOR
  556.           call Message DoorName,LineNumber,'You get 'othermegs*1000' experience points, ',1
  557.           call RANDOMCOLOR
  558.           if OMONEY > 0 then call Message DoorName,LineNumber,'You find $'FINDMONEY'!',1
  559.           call RANDOMCOLOR
  560.           if OTROJ > 0 then call Message DoorName,LineNumber,'You find 'OTROJ' Trojans!',1
  561.           call RANDOMCOLOR
  562.           if OBW > 0 then call Message DoorName,LineNumber,'You find 'OBW' Byte Warriors!',1
  563.           call RANDOMCOLOR
  564.           if OSCA > 0 then call Message DoorName,LineNumber,'You find 'OSCA' SCAs!',1
  565.           call Message DoorName,LineNumber,normal,1
  566.           if OTERMTYPE > TERMTYPE then do
  567.              TERMTYPE = OTERMTYPE
  568.              if OTERMTYPE > 1 then OTERMTYPE = OTERMTYPE - 1
  569.              if OTERMTYPE < 1 then OTERMTYPE = 1
  570.           end  
  571.           if ODRIVETYPE > DRIVETYPE then do
  572.              DRIVETYPE = ODRIVETYPE
  573.              if ODRIVETYPE > 1 then ODRIVETYPE = ODRIVETYPE - 1
  574.              if ODRIVETYPE < 1 then ODRIVETYPE = 1
  575.           end  
  576.           if OSCA >= 1 then do
  577.              SCA = OSCA + SCA
  578.              OSCA = OSCA%2
  579.              if OSCA <=1 then OSCA = 0
  580.           end
  581.           if OTROJ >= 1 then do
  582.              TROJ = OTROJ + TROJ
  583.              OTROJ = OTROJ %2
  584.              if OTROJ <=1 then OTROJ = 0
  585.           end
  586.           if OBW >= 1 then do
  587.              BW = BW + OBW
  588.              OBW = OBW %2
  589.              if OBW <=1 then OBW = 0
  590.           end
  591.           TOTALWINS = TOTALWINS + 1
  592.           OTOTALLOSS = OTOTALLOSS + 1
  593.           call WRITEHIM
  594.        end
  595.     end
  596.     if TOHIT >= TERMTYPE+1 then do
  597.        ranmess = random(1,3,time('s'))
  598.        if ranmess = 1 then call Message DoorName,LineNumber,cyan'You missed him!',1
  599.        if ranmess = 2 then call Message DoorName,LineNumber,green'He eludes you!',1
  600.        if ranmess = 3 then call Message DoorName,LineNumber,yellow'Nothing happens!',1
  601.     end
  602.     Call Blank
  603.     OTOHIT = random(1,10,time('s'))
  604.     if OTOHIT < OTERMTYPE+1 then do
  605.        hdam = random(1,Omegs,time('s'))
  606.        if hdam > MEGS then hdam = MEGS
  607.        MEGS = MEGS - hDAM
  608.        call Message DoorName,LineNumber,cyan'He smashes 'red||hDAM' megs'cyan' on your drive!',1
  609.           if MEGS <= 0 then do
  610.           Call Blank
  611.           ranlose = random(1,5,time('s'))
  612.           if ranlose = 1 then call Message DoorName,LineNumber,red'You are TOAST!',1
  613.           if ranlose = 2 then call Message DoorName,LineNumber,green'He over powers you!',1
  614.           if ranlose = 3 then call Message DoorName,LineNumber,yellow'You didnt have a chance!',1
  615.           if ranlose = 4 then call Message DoorName,LineNumber,green||ALIAS's'cyan' funeral services are Thursday at 2pm!',1
  616.           if ranlose = 5 then call Message DoorName,LineNumber,green||OALIAS||cyan' devastates your entire drive!',1
  617.           OEXPERIENCE = OEXPERIENCE + oldmegs*1000
  618.           Omoney = Omoney + MONEY%2
  619.           money = money - MONEY%2
  620.           if TERMTYPE > OTERMTYPE then do
  621.              OTERMTYPE = TERMTYPE
  622.              if TERMTYPE > 1 then TERMTYPE = TERMTYPE - 1
  623.              if TERMTYPE < 1 then TERMTYPE = 1
  624.           end  
  625.           if DRIVETYPE > ODRIVETYPE then do
  626.              ODRIVETYPE = DRIVETYPE
  627.              if DRIVETYPE > 1 then DRIVETYPE = DRIVETYPE - 1
  628.              if DRIVETYPE < 1 then DRIVETYPE = 1
  629.           end  
  630.           if SCA >= 1 then do
  631.              OSCA = OSCA + SCA
  632.              SCA = SCA%2
  633.              if SCA <=1 then SCA = 0
  634.           end
  635.           if TROJ >= 1 then do
  636.              OTROJ = OTROJ + TROJ
  637.              TROJ = TROJ %2
  638.              if TROJ <=1 then TROJ = 0
  639.           end
  640.           if BW >= 1 then do
  641.              OBW = BW + OBW
  642.              BW = BW %2
  643.              if BW <=1 then BW = 0
  644.           end
  645.           OTOTALWINS = OTOTALWINS + 1
  646.           TOTALLOSS = TOTALLOSS + 1
  647.           call WRITEHIM
  648.        end
  649.     end
  650.     if OTOHIT >= OTERMTYPE+1 then do
  651.        ranmess = random(1,5,time('s'))
  652.        if ranmess = 1 then call Message DoorName,LineNumber,red'He does not do anything!',1
  653.        if ranmess = 2 then call Message DoorName,LineNumber,green'You out witted him!',1
  654.        if ranmess = 3 then call Message DoorName,LineNumber,yellow'Nothing happens to you!',1
  655.        if ranmess = 4 then call Message DoorName,LineNumber,blue'Your drive is safe this time!',1
  656.        if ranmess = 5 then call Message DoorName,LineNumber,purple'Your drive is safe this time!',1
  657.     end
  658.      signal HACKHIM
  659.   end
  660. call returnc
  661. signal hackhim
  662.  
  663. NOMEG:
  664. if olastfight = alias then do
  665. call Message DoorName,LineNumber,CLS||yellow,1
  666. call Message DoorName,LineNumber,'You have already trashed him! Let someone else get him!',1
  667. call returnc
  668. maincounter = maincounter + 1
  669. signal main
  670. end
  671. Call CLS
  672. call Message DoorName,LineNumber,cyan'Your opponent has NO MEGS to fight with. Well it looks like he is',1
  673. call Message DoorName,LineNumber,'going to have to give up something for being a WASTE!',1
  674. Call Blank
  675. call Message DoorName,LineNumber,bluebak||white'Other players stats:'normal,1
  676. Call Blank
  677. call Message DoorName,LineNumber,red'['green'1'red']'cyan'Experience: 'red||OEXPERIENCE,1
  678. call Message DoorName,LineNumber,red'['green'2'red']'cyan'Money: 'red'$'OMONEY,1
  679. Call Blank
  680. call Message DoorName,LineNumber,cyan'You may try to get 1/8 of his MONEY or EXPERIENCE. You have a'red' 50%'cyan' chance',1
  681. call Message DoorName,LineNumber,'of winning. If you fail, he will receive some of your experience.',1
  682. Call Blank
  683. call HotKey DoorName,LineNumber,green'Which would you like to hack? [Q to Quit] > '
  684. ans = upper(result)
  685. if ans = 'Q' | ans = 'NULL' then do
  686. maincounter = maincounter + 1
  687. signal main
  688. end
  689. if ans = '1' then do
  690.  if experience <= 0 then do
  691.  Call Blank
  692.  call Message DoorName,LineNumber,cyan'You need to have some EXPERIENCE yourself before trying to',1
  693.  call Message DoorName,LineNumber,cyan'hack his!',1
  694.  call returnc
  695.  maincounter = maincounter + 1
  696.  signal main
  697.  end
  698.  if oexperience <= 0 then do
  699.  Call Blank
  700.  call Message DoorName,LineNumber,cyan'Oh boy, he is REALLY TRASHED!! Since he has nothing to give you',1
  701.  call Message DoorName,LineNumber,'The HAA has decided to give you a bonus of 'red'$80,000!',1
  702.  call returnc
  703.  money = money + 80000
  704.  signal main
  705.  end
  706. hackexper = oexperience / 8
  707. hackexper = trunc(hackexper)
  708. Call Blank
  709. call Message DoorName,LineNumber,cyan'You are hacking for 'red||hackexper||cyan' experience points!',1
  710. Call Blank
  711. Call HotKey DoorName,LineNumber,green'Are you sure you want to do this? (Y/n) > '
  712. ans=upper(result)
  713.  if ans = 'N' then do
  714.  maincounter = maincounter + 1
  715.  signal main
  716.  end
  717. RANWIN = RANDOM(1,2,time('s'))
  718.  if RANWIN = 1 then do
  719.  Call Blank
  720.  call Message DoorName,LineNumber,yellow'Too bad you lost!!',1
  721.  if experience < hackexper then hackexper = experience
  722.  experience = experience - HACKEXPER
  723.  oexperience = oexperience + hackexper
  724.  maincounter = maincounter + 1
  725.  signal writehim
  726.  signal main
  727.  end
  728. ELSE
  729. Call Blank
  730. call Message DoorName,LineNumber,yellow'You succeeded!!',1
  731. experience = experience + HACKEXPER
  732. oexperience = oexperience - hackexper
  733. maincounter = maincounter + 1
  734. signal writehim
  735. signal main
  736. end
  737. if ans = '2' then do
  738. Call CLS
  739. if experience = 0 then do
  740. Call CLS
  741. call Message DoorName,LineNumber,yellow'You have no experience to wager. Try earning some before coming back!',1
  742. call returnc
  743. maincounter = maincounter + 1
  744. signal main
  745. end
  746. if omoney <= 0 then do
  747. Call CLS
  748. call Message DoorName,LineNumber,yellow'He has NO MONEY to hack... Try hacking his experience!',1
  749. maincounter = maincounter + 1
  750. signal main
  751. end
  752. hackexper = experience / 8
  753. hackexper = trunc(hackexper)
  754. hackmoney = omoney / 8
  755. hackmoney = trunc(hackmoney)
  756. call Message DoorName,LineNumber,cyan'You have chosen to hack his money. If you succeed you get 'red'$'hackmoney||cyan' of his',1
  757. call Message DoorName,LineNumber,'money. If you fail he gets 'red||hackexper||cyan' of your experience points.',1
  758. Call Blank
  759. Call HotKey DoorName,LineNumber,green'Sure you want to continue? > '
  760. ans = upper(result)
  761.  if ans = 'Y' then do
  762.  RANWIN = RANDOM(1,2,time('s'))
  763.   if RANWIN = 1 then do 
  764.   Call Blank
  765.   call Message DoorName,LineNumber,yellow'Too bad you lost!!',1
  766.   call Message DoorName,LineNumber,purple,1
  767.   call Message DoorName,LineNumber,'He gets 'red||hackexper||purple' of your experience points!',1
  768.   experience = experience - HACKEXPER
  769.   oexperience = oexperience + hackexper
  770.   maincounter = maincounter + 1
  771.   signal writehim
  772.   signal main
  773.   end
  774.  Call Blank
  775.  call Message DoorName,LineNumber,yellow'You succeeded!!',1
  776.  omoney = omoney - hackmoney
  777.  money = money + hackmoney
  778.  maincounter = maincounter + 1
  779.  signal writehim
  780.  signal main
  781.  end
  782. call nocarrier
  783. signal main
  784. end
  785.  
  786. WRITEHIM:
  787.        OLASTFIGHT = ALIAS
  788.        call OWRITE
  789.       LASTFIGHT = OALIAS
  790.       call writeuser
  791.     call outturn
  792.     call returnc
  793.     Call Blank
  794.     call Message DoorName,LineNumber,'Exiting Hacker combat.....',1
  795.     Call Blank
  796.     call loop
  797.  signal MAIN
  798.  
  799. HAA:
  800.  if expert = 0 & vin = 0 then call HAAMENU
  801.  if expert = 1 then do
  802.      call Message DoorName,LineNumber,'Now connected to the HAA........',1
  803.      call Message DoorName,LineNumber,red'['green'1 2 3 4 5 6 7 ?'red']'cyan,1
  804.      Call Blank
  805.  end
  806.  call nocarrier
  807.  vin=0
  808.  Call HotKey DoorName,LineNumber,green'Hackers Assc of America (Turns Left:'cyan||MAXTURNS-MAINCOUNTER||green')  > '
  809.  ANS = upper(result)
  810. if ans = '2' then do
  811.     if money <= 0 then do
  812.        Call Blank
  813.        call Message DoorName,LineNumber,'You cannot Hack credit cards until you have $$$',1
  814.         call returnc
  815.         signal HAA
  816.     end
  817.     signal CREDITCARDS
  818.  end
  819. if ANS = '3' then do
  820.     Term = Termtype
  821.     call TERMLIST
  822.     Call Blank
  823.     call Message DoorName,LineNumber,'You have 'yellow'$'money||normal,1
  824.     Call Blank
  825.     call Prompt DoorName,LineNumber,green'Terminals (Q=Quit)? ',2
  826.     ANS = upper(result)
  827.     Call Blank
  828.        if ans = termtype then do
  829.        call Message DoorName,LineNumber,'You are already using 'Termname'!',1
  830.         call returnc
  831.         signal HAA
  832.         end
  833.          if ans = 'Q' | ans = 'NULL' then do
  834.            call nocarrier
  835.            signal HAA
  836.          end
  837.          if ans = '1' then do
  838.            if termtype = 1 then call Message DoorName,LineNumber,'You already have that!',1
  839.            if termtype ~= 1 then call Message DoorName,LineNumber,'That is a worse terminal than what you have!',1
  840.            call returnc
  841.            signal HAA
  842.          end
  843.        if ans < termtype then do
  844.          call Message DoorName,LineNumber,'You currently have 'termname'!',1
  845.          call returnc
  846.          signal HAA
  847.        end
  848. if ans = 2 | ans = 3 | ans = 4 | ans = 5 | ans = 6 | ans = 7 | ans = 8 | ans = 9 | ans = 10 | ans = 11 | ans = 12 | ans = 13 | ans = 14 | ans = 15  then do
  849.     if ans = 2 then cost = 1000
  850.     if ans = 3 then cost = 10000
  851.     if ans = 4 then cost = 50000
  852.     if ans = 5 then cost = 100000
  853.     if ans = 6 then cost = 200000
  854.     if ans = 7 then cost = 500000
  855.     if ans = 8 then cost = 1000000
  856.     if ans = 9 then cost = 3000000
  857.     if ans = 10 then cost = 5000000
  858.     if ans = 11 then cost = 7000000
  859.     if ans = 12 then cost = 9000000
  860.     if ans = 13 then cost = 11000000
  861.     if ans = 14 then cost = 13000000
  862.     if ans = 15 then cost = 15000000
  863.     if money < cost then do
  864.        call Message DoorName,LineNumber,'You do not have enough money!',1
  865.         call returnc
  866.         signal HAA
  867.     end
  868.     money = money - cost
  869.     termtype = ans
  870.     if termtype = 2 then termname = 'Skyterm'
  871.     if termtype = 3 then termname = 'ProComm'
  872.     if termtype = 4 then termname = 'JRComm'
  873.     if termtype = 5 then termname = 'HackerTerm'
  874.     if termtype = 6 then termname = 'CrackerComm'
  875.     if termtype = 7 then termname = 'HackerTerm2.0'
  876.     if termtype = 8 then termname = 'CrackerComm2.0'
  877.     if termtype = 9 then termname = 'KillTerm'
  878.     if termtype = 10 then termname = 'SysOps Term'
  879.     if termtype = 11 then termname = 'SysOps Term 2'
  880.     if termtype = 12 then termname = 'SysOps Term 3'
  881.     if termtype = 13 then termname = 'SysOps Term 4'
  882.     if termtype = 14 then termname = 'SysOps Term 5'
  883.     if termtype = 15 then termname = 'SysOps Term 6'
  884.     call Message DoorName,LineNumber,termname' bought for the price of $'cost'!',1
  885.     call returnc
  886. end
  887.   maincounter = maincounter + 1
  888.   call outturn
  889.   signal HAA
  890. end
  891.  if ans = '4' then do
  892.     Drive = DriveType
  893.     call HARDLIST
  894.     Call Blank
  895.     call Message DoorName,LineNumber,'You have 'yellow'$'money||normal,1
  896.     Call Blank
  897.     call Prompt DoorName,LineNumber,green'Hardware (Q=Quit)? ',2
  898.     ANS = upper(result)
  899.     Call Blank
  900.        if ans = drivetype then do
  901.        call Message DoorName,LineNumber,'You are already using 'drivename'!',1
  902.         call returnc
  903.         signal HAA
  904.     end
  905.     if ans = 'Q' | ans = 'NULL' then do
  906.     call nocarrier
  907.     signal HAA
  908.     end
  909.     if ans = '1' then do
  910.        if drivetype = 1 then call Message DoorName,LineNumber,'You already have that!',1
  911.        if drivetype ~= 1 then call Message DoorName,LineNumber,'That backup is worse than what you have!',1
  912.         call returnc
  913.         signal HAA
  914.     end
  915.   if ans < drivetype then do
  916.      call Message DoorName,LineNumber,'You currently have 'drivename' backup!',1
  917.       call returnc
  918.       signal HAA
  919.   end
  920.   if ans = 2 | ans = 3 | ans = 4 | ans = 5 | ans = 6 | ans = 7 | ans = 8 | ans = 9 | ans = 10 then do
  921.     if ans = 2 then cost = 1000
  922.     if ans = 3 then cost = 10000
  923.     if ans = 4 then cost = 50000
  924.     if ans = 5 then cost = 100000
  925.     if ans = 6 then cost = 200000
  926.     if ans = 7 then cost = 400000
  927.     if ans = 8 then cost = 700000
  928.     if ans = 9 then cost = 1000000
  929.     if ans = 10 then cost = 1300000
  930.     if money < cost then do
  931.        call Message DoorName,LineNumber,'You do not have enough money!',1
  932.         call returnc
  933.         signal HAA
  934.     end
  935.     money = money - cost
  936.     drivetype = ans
  937.     if drivetype = 2 then drivename = 'Poor'
  938.     if drivetype = 3 then drivename = 'Average'
  939.     if drivetype = 4 then drivename = 'Good'
  940.     if drivetype = 5 then drivename = 'Outstanding'
  941.     if drivetype = 6 then drivename = 'The King of Kings'
  942.     if drivetype = 7 then drivename = 'Lord of Lords'
  943.     if drivetype = 8 then drivename = 'Prince of Peace'
  944.     if drivetype = 9 then drivename = 'Ruler of the World'
  945.     if drivetype = 10 then drivename = 'Ruler of the Universe'
  946.     call Message DoorName,LineNumber,drivename' Backup bought for the price of $'cost'!',1
  947.      call returnc
  948.      end
  949.    maincounter = maincounter + 1
  950.    call outturn
  951.    signal HAA
  952. end
  953.  if ans = '5' then do
  954.     call BUYVIRUS
  955.     Call Blank
  956.     call Message DoorName,LineNumber,'You have 'yellow'$'money||normal,1
  957.     Call Blank
  958.     Call HotKey DoorName,LineNumber,green'Viruses (Q=Quit)? '
  959.     ANS = upper(result)
  960.     Call Blank
  961.     if ans = 'Q' | ans = 'NULL' then signal HAA
  962.     if ans = 1 then cost = 100
  963.     if ans = 2 then cost = 1000
  964.     if ans = 3 then cost = 2500
  965.     if ans > 3 then signal HAA
  966.     if ans < 1 then signal HAA
  967.     if money < cost then do
  968.        call Message DoorName,LineNumber,'You do not have enough money!',1
  969.         call returnc
  970.         signal HAA
  971.     end
  972.     if ans = 1 then virusbought = 'Byte Warrior'
  973.     if ans = 2 then virusbought = 'SCA'
  974.     if ans = 3 then virusbought = 'Trojan'
  975.     maxvirus = money % cost
  976.     if maxvirus > 98 then maxvirus=98
  977.     call Prompt DoorName,LineNumber,'How Many(max 'maxvirus')? ',2
  978.     numbought = upper(result)
  979.     if numbought = 'NULL' | numbought ~< 99 then do
  980.     Call Blank
  981.     call Message DoorName,LineNumber,'You may only buy 1-98 at a time',1
  982.     call returnc
  983.     call nocarrier
  984.     signal HAA
  985.     end
  986.     if money < numbought * cost then do
  987.        call Message DoorName,LineNumber,'You do not have enough money!',1
  988.        call returnc
  989.        signal HAA
  990.     end
  991.     totalcost = numbought * cost
  992.     if numbought > 1 then call Message DoorName,LineNumber,numbought' 'virusbought's bought for the price of $'totalcost'!' ,1
  993.     if numbought = 1 then call Message DoorName,LineNumber,virusbought' bought for the price of $'cost'!',1
  994.     if ans = 1 then BW = BW + NUMBOUGHT
  995.     if ans = 2 then SCA = SCA + NUMBOUGHT
  996.     if ans = 3 then TROJ = TROJ + NUMBOUGHT
  997.     money = money - totalcost
  998.      call returnc
  999.      maincounter = maincounter + 1
  1000. call outturn
  1001.  signal HAA                   
  1002.  end
  1003.  if ANS = 'NULL' | ANS = 'Q' | ans = '7' then do
  1004.  call Message DoorName,LineNumber,white,1
  1005.  call Message DoorName,LineNumber,'#@%#%@%#%@%#',1
  1006.  Call Blank
  1007.  call Message DoorName,LineNumber,'NO CARRIER',1
  1008.  Call Blank
  1009.  i = 0
  1010.  call loop
  1011.  signal MAIN
  1012.  end
  1013.  if ans = '6' then do
  1014.  signal GAMBLE
  1015.  end
  1016.  if ans = '?' then do
  1017.     vin = 1
  1018.     call HAAMENU
  1019.     signal HAA
  1020.  end
  1021.  if ans = '1' then do
  1022.     Call Blank
  1023.     maxmegs = level * 20
  1024.     canfix = maxmegs - megs
  1025.     if megs = maxmegs then do
  1026.        call Message DoorName,LineNumber,'All your megs are fixed.',1
  1027.         call returnc
  1028.         signal HAA
  1029.     end
  1030.    if bmoney <= 0 then do
  1031.     if MONEY <=0 then do                 
  1032.        call Message DoorName,LineNumber,'You are out of money!  You are loaned $1000 from the HAA',1
  1033.        money = money + 1000
  1034.     end
  1035.   end
  1036.     if experience <= 9999 then MEGAMT = 10
  1037.     if experience >= 10000 then MEGAMT = 100
  1038.     if experience >= 20000 then MEGAMT = 150
  1039.     if experience >= 35000 then MEGAMT = 200
  1040.     if experience >= 50000 then MEGAMT = 250
  1041.     if experience >= 65000 then MEGAMT = 300
  1042.     if experience >= 80000 then MEGAMT = 350
  1043.     if experience >= 95000 then MEGAMT = 400
  1044.     if experience >= 120000 then MEGAMT = 450
  1045.     if experience >= 150000 then MEGAMT = 500
  1046.     if experience >= 175000 then MEGAMT = 550
  1047.     if experience >= 225000 then MEGAMT = 600
  1048.     if experience >= 300000 then MEGAMT = 650
  1049.     if experience >= 400000 then MEGAMT = 700
  1050.     if experience >= 550000 then MEGAMT = 750
  1051.     if experience >= 750000 then MEGAMT = 800
  1052.     if experience >= 1000000 then MEGAMT = 850
  1053.     if experience >= 1250000 then MEGAMT = 900
  1054.     if experience >= 2500000 then MEGAMT = 950
  1055.     if experience >= 3000000 then MEGAMT = 1000
  1056.     call Message DoorName,LineNumber,cyan,1
  1057.     call Message DoorName,LineNumber,'You can fix 'red||canfix||cyan' megs.'cyan,1
  1058.     call Message DoorName,LineNumber,'Megs costs 'red'$'MEGAMT||cyan' each to fix.',1
  1059.     call Message DoorName,LineNumber,'You currently have 'red'$'money||cyan,1
  1060.     call nocarrier
  1061.     Call Blank
  1062.     availmegs = money % megamt
  1063.     if availmegs > canfix then availmegs = canfix
  1064.     Call Prompt DoorName,LineNumber,green'Fix how many('red||availmegs||green')? ',3
  1065.     tofix = upper(result)
  1066.     if tofix < 0 then do
  1067.        Call Blank
  1068.        call Message DoorName,LineNumber,'Trying to crash this board will cause you to be deleted!',1
  1069.        call Message DoorName,LineNumber,'Try typing a POSITIVE number....',1
  1070.        call nocarrier
  1071.        call returnc
  1072.        signal HAA
  1073.        end
  1074.      if tofix > maxmegs | tofix > canfix then do
  1075.        call Message DoorName,LineNumber,'Cheater Cheater pumpkin eater!',1
  1076.         call nocarrier
  1077.        call returnc  
  1078.         signal HAA
  1079.     end
  1080.     if tofix = 'NULL' then signal HAA
  1081.     if money < tofix*MEGAMT then do
  1082.        call Message DoorName,LineNumber,'Not enough money!',1
  1083.         call returnc
  1084.         signal HAA   
  1085.     end
  1086.     megs = megs + tofix
  1087.     money = money - tofix*MEGAMT
  1088.     call Message DoorName,LineNumber,tofix' megs repaired at the cost of $'tofix*MEGAMT,1
  1089.     call returnc
  1090.     maincounter = maincounter + 1
  1091. call outturn
  1092.  signal HAA
  1093.  END
  1094. call nocarrier
  1095. signal HAA
  1096.  
  1097. GAMBLE:
  1098.     Call CLS
  1099.     call Message DoorName,LineNumber,cyan'Gambling is a bad habit!  You have a 'green'50%'cyan' chance of losing!',1
  1100.     call Message DoorName,LineNumber,'Gamble how much money('green||MONEY||cyan') (0 to quit)?',1
  1101.     call nocarrier
  1102.    Call Blank
  1103.    Call Prompt DoorName,LineNumber,'> ',8
  1104.     ANS = upper(result)
  1105.     if ANS = 0 then signal HAA
  1106.     if ans = 'Q' then signal HAA
  1107.     if ANS = 'NULL' then signal HAA
  1108.     if ANS > MONEY then do
  1109.        call Message DoorName,LineNumber,'Not enough money...',1
  1110.        Call Blank
  1111.        call returnc
  1112.        Call Blank
  1113.        signal GAMBLE
  1114.     end
  1115.     RANWIN = RANDOM(1,2,time('s'))
  1116.       if RANWIN = 1 then do 
  1117.          Call Blank
  1118.          ranmess = random(1,3,time('s'))
  1119.          if ranmess = 1 then call Message DoorName,LineNumber,'You are a loser!',1
  1120.          if ranmess = 2 then call Message DoorName,LineNumber,'What a waste of money!',1
  1121.          if ranmess = 3 then call Message DoorName,LineNumber,'You would do lousy in Vegas!',1
  1122.          MONEY = MONEY - ANS
  1123.          call returnc
  1124.          maincounter = maincounter + 1
  1125. call outturn
  1126.       signal GAMBLE
  1127.       end
  1128.       Call Blank
  1129.       if ANS <= 1000 then do
  1130.          MONEY = MONEY + (ANS * 2)
  1131.          call Message DoorName,LineNumber,normal||red'You won $'purple||ANS*2||red'  What luck!',1
  1132.       call returnc
  1133.       end
  1134.       if ANS > 1000 & ANS < 5000 then do
  1135.          call Message DoorName,LineNumber,normal||red'You won $'purple||ANS*2||red'! Outstanding!',1
  1136.          MONEY = MONEY + (ANS * 2)
  1137.       call returnc
  1138.       end
  1139.       if ANS >=5000 then do
  1140.          call Message DoorName,LineNumber,normal||red'You won $'purple||ANS*2||red'! The Casino Manager Is Coming Over',1
  1141.          MONEY = MONEY + (ANS * 2)
  1142.       call returnc
  1143.       end
  1144.      maincounter = maincounter + 1
  1145. call outturn
  1146.    call nocarrier
  1147.    signal Gamble
  1148.    end
  1149.  
  1150. CREDITCARDS:
  1151.  Call CLS
  1152.  call Message DoorName,LineNumber,'Hacking credit cards is dangerous but if you succeed you can',1
  1153.  call Message DoorName,LineNumber,'get a large sum of money.  There are several different cards',1
  1154.  call Message DoorName,LineNumber,'which you can hack. ',1
  1155.  Call Blank
  1156.  call Message DoorName,LineNumber,red'['green'H'red']'cyan'ack a card     'red'['green'L'red']'cyan'ist Credit Cards to hack',1
  1157.  call Message DoorName,LineNumber,red'['green'Q'red']'cyan'uit to HAA',1
  1158.  Call Blank
  1159.  call nocarrier
  1160.  call HotKey DoorName,LineNumber,red'['green'H,Q,L'red']'cyan'> '
  1161.  ans = upper(result)
  1162.  if ans = 'Q' | ans = 'cd /' | ans = 'HAA' then signal HAA
  1163.  if ans = 'NULL' then do
  1164.  call nocarrier
  1165.  signal CREDITCARDS
  1166.  end
  1167.  if ans = 'H' then do
  1168.     Call Blank
  1169.     call Message DoorName,LineNumber,cyan'Hack which card 'red'['green'1-12; 12 being most difficult'red']'cyan,1
  1170.     Call Prompt DoorName,LineNumber,'> ',2
  1171.     card = upper(result)
  1172.      if card <= 0 | card > 12 then do
  1173.        call Message DoorName,LineNumber,'That card does not exist..... ',1
  1174.        call returnc
  1175.        signal CREDITCARDS
  1176.     end
  1177.     if card = 1 then do
  1178.        CCARD = 'Spacys'
  1179.        maxwin = 50
  1180.     end
  1181.     if card = 2 then do
  1182.        CCARD = 'CJNickels'
  1183.        maxwin = 100
  1184.     end
  1185.     if card = 3 then do
  1186.        CCARD = 'MasterKard'
  1187.        maxwin = 150
  1188.     end
  1189.     if card = 4 then do
  1190.        CCARD = 'Diskover'
  1191.        maxwin = 250
  1192.     end
  1193.     if card = 5 then do
  1194.        CCARD = 'Viza'
  1195.        maxwin = 500
  1196.     end
  1197.     if card = 6 then do
  1198.        CCARD = 'American Xpress'
  1199.        maxwin = 1000
  1200.        canwin = 1
  1201.     end
  1202.     if card = 7 then do
  1203.        CCARD = 'Winers Club'
  1204.        maxwin = 5000
  1205.        canwin = 5
  1206.     end
  1207.     if card = 8 then do
  1208.        CCARD = 'Carte Blanco'
  1209.        maxwin = 10000
  1210.        cawin = 10
  1211.     end
  1212.     if card = 9 then do
  1213.        CCARD = 'Viza Gold'
  1214.        maxwin = 20000
  1215.        canwin = 20
  1216.     end
  1217.     if card = 10 then do
  1218.        CCARD = 'American Xpress Platinum'
  1219.        maxwin = 50000
  1220.        canwin = 50
  1221.     end
  1222.     if card = 11 then do
  1223.        CCARD = 'Abyss Gold'
  1224.        maxwin = 100000
  1225.        canwin = 100
  1226.     end
  1227.     if card = 12 then do
  1228.        CCARD = 'Abyss Platinum'
  1229.        maxwin = 200000
  1230.        canwin = 200
  1231.     end
  1232.     Call Blank
  1233.     call Message DoorName,LineNumber,'Hacking 'CCARD'.... Please hold.....',1
  1234.     cchack = random(1,15,time('s'))
  1235.     if cchack < CARD then do
  1236.        call Message DoorName,LineNumber,'You are CAUGHT by the FEDS!',1
  1237.        ranpen = random(1,5,time('s'))
  1238.        if ranpen = 1 | ranpen = 2 then do
  1239.           call Message DoorName,LineNumber,'You get a slap on the wrists!',1
  1240.           call returnc
  1241.           maincounter = maincounter + 1
  1242. call outturn
  1243.  signal HAA
  1244.        end
  1245.        if ranpen = 3 then do
  1246.           moneylos = maxwin
  1247.           if moneylos > money then moneylos = money
  1248.           call Message DoorName,LineNumber,'You are caught by the FEDS! They penalize you',1
  1249.           call Message DoorName,LineNumber,'$'moneylos'!!',1
  1250.           money = money - moneylos
  1251.           call returnc
  1252.            maincounter = maincounter + 1
  1253. call outturn
  1254. signal HAA
  1255.        end
  1256.        if ranpen = 4 then do
  1257.         if experience > 20000 then do
  1258.           call Message DoorName,LineNumber,'The HAA is rather embarassed, they penalize you',1
  1259.           call Message DoorName,LineNumber,'20000 experience points!',1
  1260.           experience = experience - 20000
  1261.           call Message DoorName,LineNumber,'Your drive is also trashed.',1
  1262.           megs = 0
  1263.            call returnc
  1264.            maincounter = maincounter + 1
  1265. call outturn
  1266.         signal HAA
  1267.         end
  1268.         experience = 0
  1269.         call Message DoorName,LineNumber,'The HAA is rather embarassed, you are penalized to level',1
  1270.         call Message DoorName,LineNumber,'1.  Sorry!  It will teach you for the future!',1
  1271.         experience = 0
  1272.         megs = 0
  1273.          call returnc
  1274.          maincounter = maincounter + 1
  1275. call outturn
  1276.        signal HAA
  1277.        end
  1278.        if ranpen = 5 then do
  1279.           if money < maxwin then maxwin = money          
  1280.           call Message DoorName,LineNumber,'The FBI catches you and fines you $'MAXWIN' for your',1
  1281.           call Message DoorName,LineNumber,'crimes.',1
  1282.           money = money - maxwin
  1283.            call returnc
  1284.            maincounter = maincounter + 1
  1285. call outturn
  1286.        signal HAA
  1287.        end
  1288.     end 
  1289.     call Message DoorName,LineNumber,'You got away with $'maxwin'!',1
  1290.     money = money + maxwin
  1291.     call returnc
  1292.     maincounter = maincounter + 1
  1293. call outturn
  1294.  signal HAA
  1295.  end
  1296.  if ans = 'L' then Call CreditCardsMenu
  1297.  signal CreditCards
  1298.  
  1299. DIAL:
  1300.  if EXPERT = 0 then do
  1301.  call DIALMENU
  1302.  end
  1303.  if experience >= 3000000 then SIGNAL winner
  1304.  call nocarrier
  1305.  Call Blank
  1306.  Call Prompt DoorName,LineNumber,green'MAIN/TERMINAL/(Turns Left:'cyan||MAXTURNS-MAINCOUNTER||green') > ',10
  1307.  ANS = upper(result)
  1308.   if ANS = 'TERM' then do
  1309.  signal DIALOUT
  1310.   end
  1311.   if ANS = 'HELP' | ans = '?' then do
  1312.      Call Message DoorName,LineNumber,'Type HELP from the main directory!',1
  1313.      signal DIAL
  1314.   end
  1315.   if ANS = 'EXPERT' then do
  1316.      if EXPERT = 1 then do
  1317.         EXPERT = 0
  1318.         Call Message DoorName,LineNumber,'Expert Mode OFF',1
  1319.         SIGNAL DIAL
  1320.      end
  1321.      Call Message DoorName,LineNumber,'Expert Mode ON',1
  1322.      EXPERT = 1
  1323.      SIGNAL DIAL
  1324.   end
  1325.  if ANS = 'EDIT' then call EDITOR 
  1326.  if ANS = 'DIR' then do
  1327.     call DIALMENU
  1328.     signal DIAL
  1329.  end
  1330.  if ANS = 'PARK' | ANS = 'P' then signal BEXIT
  1331.  if ANS = 'CD MAIN' | ans = 'MAIN' | ans = 'CD /' then do
  1332.  signal MAIN
  1333.  end
  1334.  if ANS = 'NUMBERS' then do
  1335.     call NUMBERLIST
  1336.     signal DIAL
  1337.  end
  1338.  call nocarrier
  1339. Call Message DoorName,LineNumber,'Unknown command 'ans' - type DIR or HELP',1
  1340. signal DIAL
  1341. signal BEXIT 
  1342.  
  1343. EDITOR:
  1344.  if name ~= SYSOPNAME then do
  1345.   Call CLS
  1346.   Call Message DoorName,LineNumber,cyan'Access to this area is only for the SYSOP!',1
  1347.   call returnc
  1348.   signal Dial
  1349.   end
  1350.  Call CLS
  1351.  Call Message DoorName,LineNumber,green'SysOp telephone editor:',1
  1352.  Call Blank
  1353.  call Message DoorName,LineNumber,red' ['green'A'red']'cyan'dd    'red'['green'N'red']'cyan'umbers',1
  1354.  Call Blank
  1355.  Call HotKey DoorName,LineNumber,cyan'Q=Quit> '
  1356.  EDITANS = upper(result)
  1357.  if editans = 'NULL' then signal EDITOR
  1358.  if editans = 'N' then do
  1359.     call NUMBERLIST
  1360.     signal EDITOR
  1361.  end
  1362.  if EDITANS = 'Q' then signal DIAL
  1363.  if EDITANS = 'A' then do
  1364.     Call Blank
  1365.     call Message DoorName,LineNumber,red'['green'L'red']'cyan'ocal    'red'['green'M'red']'cyan'ainframe    'red'['green'G'red']'cyan'overment',1
  1366.     Call Blank
  1367.     Call HotKey DoorName,LineNumber,'What type of computer would you like to add? '
  1368.     bbsadd = upper(result)
  1369.     if bbsadd = 'NULL' then signal EDITOR
  1370.     if bbsadd = 'L' then do
  1371.        if ~exists(phones'LOCAL') then do
  1372.           Call Message DoorName,LineNumber,'There is not a local telephone book. Tell the SysOp!',1
  1373.           call returnc
  1374.           signal DIAL
  1375.        end
  1376.        call open(file, PHONES'LOCAL', 'R')
  1377.             telnum = readln(file)
  1378.             do i = 1 to telnum
  1379.                LOCALNAME.i = readln(file)
  1380.                LOCALNUM.i = readln(file)
  1381.                LOCALMEGS.i = readln(file)
  1382.                LOCALWINS.i = readln(file)
  1383.                LOCALLOSS.i = readln(FILE)
  1384.             end
  1385.        call close(file)
  1386.        Call CLS
  1387.        Call Prompt DoorName,LineNumber,'Name of computer: ',10
  1388.        NEWNAME = upper(result)
  1389.        Call Prompt DoorName,LineNumber,'Telephone Number: ',10
  1390.        NEWTELE = result
  1391.        Call Prompt DoorName,LineNumber,'Megs of computer: ',10
  1392.        NEWMEGS = upper(result)
  1393.        Call CLS
  1394.        Call Message DoorName,LineNumber,cyan'You entered: ',1
  1395.        Call Message DoorName,LineNumber,cyan'  Computer Name: 'red||NEWNAME,1
  1396.        Call Message DoorName,LineNumber,cyan'  Computer Number: 'red||NEWTELE,1
  1397.        Call Message DoorName,LineNumber,cyan'  Computer Megs: 'red||NEWMEGS,1
  1398.        Call Blank
  1399.        call HotKey DoorName,LineNumber,cyan'Correct 'red'('green'Y'white'/'yellow'N'white'/'red'['blue'A'red']'cyan'bort'red')'cyan'? 'cyan
  1400.        ans = upper(result)
  1401.        if ans = 'N' then signal EDITOR
  1402.        if ans = 'A' then signal DIAL
  1403.        if ans ~= 'Y' then signal EDITOR  
  1404.       if ans = 'Y' then do
  1405.          telnum = telnum + 1
  1406.          LOCALNAME.telnum = NEWNAME
  1407.          LOCALMEGS.telnum = NEWMEGS
  1408.          LOCALNUM.telnum = NEWTELE
  1409.          LOCALWINS.telnum = 1
  1410.          LOCALLOSS.telnum = 1
  1411.       end
  1412.       call open(file, PHONES'LOCAL', 'W')
  1413.            call writeln(file, telnum)
  1414.            do i = 1 to telnum
  1415.               call writeln(file, LOCALNAME.i)
  1416.               call writeln(file, LOCALNUM.i) 
  1417.               call writeln(file, LOCALMEGS.i) 
  1418.               call writeln(file, LOCALWINS.i) 
  1419.               call writeln(file, LOCALLOSS.i) 
  1420.            end
  1421.       call close(file)
  1422.       Call Message DoorName,LineNumber,'Local computer number saved......',1
  1423.     signal EDITOR
  1424.     end
  1425.     if bbsadd = 'M' then do
  1426.        if ~exists(phones'MAINFRAMES') then do
  1427.           Call Message DoorName,LineNumber,'There is not a Mainframe telephone book. Tell the SysOp!',1
  1428.            call returnc
  1429.            signal DIAL
  1430.        end
  1431.        call open(file, PHONES'MAINFRAMES', 'R')
  1432.             telnum = readln(file)
  1433.             do i = 1 to telnum
  1434.                LOCALNAME.i = readln(file)
  1435.                LOCALNUM.i = readln(file)
  1436.                LOCALMEGS.i = readln(file)
  1437.                LOCALWINS.i = readln(file)
  1438.                LOCALLOSS.i = readln(FILE)
  1439.             end
  1440.        call close(file)
  1441.        Call CLS
  1442.        Call Prompt DoorName,LineNumber,'Name of Mainframe: ',10
  1443.        NEWNAME = upper(result)
  1444.        Call Prompt DoorName,LineNumber,'Telephone Number: ',10
  1445.        NEWTELE = result
  1446.        Call Prompt DoorName,LineNumber,'Megs of computer: ',10
  1447.        NEWMEGS = upper(result)
  1448.        Call CLS
  1449.        Call Message DoorName,LineNumber,cyan'You entered: ',1
  1450.        Call Message DoorName,LineNumber,cyan'  Mainframe Name: 'red||NEWNAME,1
  1451.        Call Message DoorName,LineNumber,cyan'  Computer Number: 'red||NEWTELE,1
  1452.        Call Message DoorName,LineNumber,cyan'  Computer Megs: 'red||NEWMEGS,1
  1453.        Call Blank
  1454.        call HotKey DoorName,LineNumber,cyan'Correct 'red'('green'Y'white'/'yellow'N'white'/'red'['blue'A'red']'cyan'bort'red')'cyan'? 'cyan
  1455.        ans = upper(result)
  1456.        if ans = 'N' then signal EDITOR
  1457.        if ans = 'A' then signal DIAL
  1458.        if ans ~= 'Y' then signal DIAL
  1459.       if ans = 'Y' then do
  1460.          telnum = telnum + 1
  1461.          LOCALNAME.telnum = NEWNAME
  1462.          LOCALMEGS.telnum = NEWMEGS
  1463.          LOCALNUM.telnum = NEWTELE
  1464.          LOCALWINS.telnum = 1
  1465.          LOCALLOSS.telnum = 1
  1466.       end
  1467.       call open(file, PHONES'MAINFRAMES', 'W')
  1468.            call writeln(file, telnum)
  1469.            do i = 1 to telnum
  1470.               call writeln(file, LOCALNAME.i)
  1471.               call writeln(file, LOCALNUM.i) 
  1472.               call writeln(file, LOCALMEGS.i) 
  1473.               call writeln(file, LOCALWINS.i) 
  1474.               call writeln(file, LOCALLOSS.i) 
  1475.            end
  1476.       call close(file)
  1477.       Call Message DoorName,LineNumber,'Mainframe computer number saved......',1
  1478.     signal EDITOR
  1479.     end
  1480.     if bbsadd = 'G' then do
  1481.        if ~exists(phones'GOV') then do
  1482.           Call Message DoorName,LineNumber,'There is not a Goverment telephone book. Tell the SysOp!',1
  1483.            call returnc
  1484.            signal DIAL
  1485.        end
  1486.        call open(file, PHONES'GOV', 'R')
  1487.             telnum = readln(file)
  1488.             do i = 1 to telnum
  1489.                LOCALNAME.i = readln(file)
  1490.                LOCALNUM.i = readln(file)
  1491.                LOCALMEGS.i = readln(file)
  1492.                LOCALWINS.i = readln(file)
  1493.                LOCALLOSS.i = readln(FILE)
  1494.             end
  1495.        call close(file)
  1496.        Call CLS
  1497.        Call Prompt DoorName,LineNumber,'Name of Goverment computer: ',10
  1498.        NEWNAME = upper(result)
  1499.        Call Prompt DoorName,LineNumber,'Telephone Number: ',10
  1500.        NEWTELE = result
  1501.        Call Prompt DoorName,LineNumber,'Megs of computer: ',10
  1502.        NEWMEGS = upper(result)
  1503.        Call CLS
  1504.        Call Message DoorName,LineNumber,cyan'You entered: ',1
  1505.        Call Message DoorName,LineNumber,cyan'  Government Name: 'red||NEWNAME,1
  1506.        Call Message DoorName,LineNumber,cyan'  Computer Number: 'red||NEWTELE,1
  1507.        Call Message DoorName,LineNumber,cyan'  Computer Megs: 'red||NEWMEGS,1
  1508.        Call Blank
  1509.        call HotKey DoorName,LineNumber,cyan'Correct 'red'('green'Y'white'/'yellow'N'white'/'red'['blue'A'red']'cyan'bort'red')'cyan'? 'cyan
  1510.        ans = upper(result)
  1511.        if ans = 'N' then signal EDITOR
  1512.        if ans = 'A' then signal DIAL
  1513.        if ans ~= 'Y' then signal DIAL
  1514.       if ans = 'Y' then do
  1515.          telnum = telnum + 1
  1516.          LOCALNAME.telnum = NEWNAME
  1517.          LOCALMEGS.telnum = NEWMEGS
  1518.          LOCALNUM.telnum = NEWTELE
  1519.          LOCALWINS.telnum = 1
  1520.          LOCALLOSS.telnum = 1
  1521.       end
  1522.       call open(file, PHONES'GOV', 'W')
  1523.            call writeln(file, telnum)
  1524.            do i = 1 to telnum
  1525.               call writeln(file, LOCALNAME.i)
  1526.               call writeln(file, LOCALNUM.i) 
  1527.               call writeln(file, LOCALMEGS.i) 
  1528.               call writeln(file, LOCALWINS.i) 
  1529.               call writeln(file, LOCALLOSS.i) 
  1530.            end
  1531.       call close(file)
  1532.       Call Message DoorName,LineNumber,'Government computer number saved......',1
  1533.     signal EDITOR
  1534.     end
  1535.  END
  1536. signal EDITOR
  1537.  
  1538. DIALOUT:
  1539.  if MEGS <= 0 then do
  1540.     Call Message DoorName,LineNumber,'You do not have enough storage to do this.  Contact the',1
  1541.     Call Message DoorName,LineNumber,'Hackers Association of America and repair your trashed',1
  1542.     Call Message DoorName,LineNumber,'drive!',1
  1543.      call returnc
  1544.      maincounter = maincounter + 1
  1545. call outturn
  1546.    signal DIAL 
  1547.  end
  1548.  CALLINGFLAG = 0
  1549.  FOUNDFLAG = 0
  1550.  Call CLS
  1551.  Call Message DoorName,LineNumber,green||TERMNAME' 'red'v'VERSION||blue' All Rights Reserved',1
  1552.  Call Message DoorName,LineNumber,purple'Initializing Modem.',1
  1553.  Call Message DoorName,LineNumber,normal,1
  1554.  Call Message DoorName,LineNumber,'AT@C1H0E0X1S2=1M1=1',1
  1555.  Call Message DoorName,LineNumber,'OK',1
  1556.  Call Blank
  1557.  Call Prompt DoorName,LineNumber,normal'ATDT ',11
  1558.  TODIAL = UPPER(RESULT)
  1559.  if TODIAL = 'NULL' then signal dial
  1560.  if exists(PHONES'LOCAL') then do
  1561.          call open(file, PHONES'LOCAL', 'R')
  1562.          telnum = readln(file)
  1563.          do i = 1 to telnum
  1564.             LOCALNAME.i = readln(file)
  1565.             LOCALNUM.i = readln(file)
  1566.             LOCALMEGS.i = readln(file)
  1567.             LOCALWINS.i = readln(file)
  1568.             LOCALLOSS.i = readln(file)
  1569.             if LOCALNUM.i = TODIAL then do
  1570.                FOUNDNUM = TODIAL
  1571.                FOUNDNAME = LOCALNAME.i 
  1572.                FOUNDMEGS = LOCALMEGS.i
  1573.                FOUNDLOSS = LOCALLOSS.i
  1574.                FOUNDWINS = FOUNDWINS.i
  1575.                FOUNDLOOP = I
  1576.                FOUNDFLAG = 1
  1577.                CALLINGFLAG = 1
  1578.             end
  1579.          end
  1580.     call close(file)
  1581.     if FOUNDFLAG = 0 then Call Message DoorName,LineNumber,'Not a Local number, please hold.',1
  1582.     if foundflag = 0 then do
  1583.     call open(file, PHONES'MAINFRAMES', 'R')
  1584.          telnum = readln(file)
  1585.          do i = 1 to telnum
  1586.             LOCALNAME.i = readln(file)
  1587.             LOCALNUM.i = readln(file)
  1588.             LOCALMEGS.i = readln(file)
  1589.             LOCALWINS.i = readln(file)
  1590.             LOCALLOSS.i = readln(file)
  1591.             if LOCALNUM.i = TODIAL then do
  1592.                FOUNDNUM = TODIAL
  1593.                FOUNDNAME = LOCALNAME.i 
  1594.                FOUNDMEGS = LOCALMEGS.i
  1595.                FOUNDLOSS = LOCALLOSS.i
  1596.                FOUNDWINS = FOUNDWINS.i
  1597.                FOUNDLOOP = I
  1598.                FOUNDFLAG = 1
  1599.                CALLINGFLAG = 2
  1600.             end
  1601.          end
  1602.     call close(file)
  1603.     end
  1604.     if FOUNDFLAG = 0 then Call Message DoorName,LineNumber,'Not a Mainframe number, please hold.',1
  1605.     if foundflag = 0 then do
  1606.     call open(file, PHONES'GOV', 'R')
  1607.          telnum = readln(file)
  1608.          do i = 1 to telnum
  1609.             LOCALNAME.i = readln(file)
  1610.             LOCALNUM.i = readln(file)
  1611.             LOCALMEGS.i = readln(file)
  1612.             LOCALWINS.i = readln(file)
  1613.             LOCALLOSS.i = readln(file)
  1614.             if LOCALNUM.i = TODIAL then do
  1615.                FOUNDNUM = TODIAL
  1616.                FOUNDNAME = LOCALNAME.i 
  1617.                FOUNDMEGS = LOCALMEGS.i
  1618.                FOUNDLOSS = LOCALLOSS.i
  1619.                FOUNDWINS = FOUNDWINS.i
  1620.                FOUNDFLAG = 1
  1621.                CALLINGFLAG = 3
  1622.                FOUNDLOOP = I
  1623.             end
  1624.          end
  1625.     call close(file)
  1626.     end
  1627.     if FOUNDFLAG = 0 then do
  1628.        Call Message DoorName,LineNumber,'Not a goverment number.',1
  1629.        Call Message DoorName,LineNumber,'That number is not listed!  Try typing ''Numbers'' for',1
  1630.        Call Message DoorName,LineNumber,'a listing of possible numbers to dial!',1
  1631.        call returnc
  1632.        maincounter = maincounter + 1
  1633.        call outturn
  1634.        signal DIAL
  1635.     end
  1636.     OTHERMEGS = FOUNDMEGS
  1637.     if TERMTYPE = 1 then Call Message DoorName,LineNumber,'Connect 'blue'110'normal,1
  1638.     if TERMTYPE = 2 then Call Message DoorName,LineNumber,'Connect 'red'300'normal,1
  1639.     if TERMTYPE = 3 then Call Message DoorName,LineNumber,'Connect 'blue'1200'normal,1
  1640.     if TERMTYPE = 4 then Call Message DoorName,LineNumber,'Connect 'red'2400'normal,1
  1641.     if TERMTYPE = 5 then Call Message DoorName,LineNumber,'Connect 'blue'4800'normal,1
  1642.     if TERMTYPE = 6 then Call Message DoorName,LineNumber,'Connect 'red'9600'normal,1
  1643.     if TERMTYPE = 7 then Call Message DoorName,LineNumber,'Connect 'blue'12000'normal,1
  1644.     if TERMTYPE = 8 then Call Message DoorName,LineNumber,'Connect 'red'14400'normal,1
  1645.     if TERMTYPE = 9 then Call Message DoorName,LineNumber,'Connect 'blue'16800'normal,1
  1646.     if TERMTYPE = 10 then Call Message DoorName,LineNumber,'Connect 'red'19200'normal,1
  1647.     if TERMTYPE = 11 then Call Message DoorName,LineNumber,'Connect 'blue'21600'normal,1
  1648.     if TERMTYPE = 12 then Call Message DoorName,LineNumber,'Connect 'red'38400'normal,1
  1649.     if TERMTYPE = 13 then Call Message DoorName,LineNumber,'Connect 'blue'57600'normal,1
  1650.     if TERMTYPE = 14 then Call Message DoorName,LineNumber,'Connect 'red'115200'normal,1
  1651.     if TERMTYPE = 15 then Call Message DoorName,LineNumber,'Connect 'purple'MAXIMUM'normal,1
  1652. if exists(PHONES''TODIAL) then do 
  1653.     Call Message DoorName,LineNumber,purple,1
  1654.     Call ReadFile DoorName,LineNumber,PHONES''TODIAL
  1655.     Call Message DoorName,LineNumber,green,1
  1656.     Call HotKey DoorName,LineNumber,'Press ANY key to ENTER BBS...'
  1657.     ans = upper(result)
  1658. end
  1659.   if CALLINGFLAG = 1 then do
  1660.     Call Blank
  1661.     Call Blank
  1662.     Call Message DoorName,LineNumber,'Connected to: 'purple||FOUNDNAME,1
  1663.     Call Blank
  1664.     call Message DoorName,LineNumber,cyan'Welcome to 'green||FOUNDNAME'.   'cyan'We have 'red||FOUNDMEGS' megs'cyan' of storage',1
  1665.     Call Message DoorName,LineNumber,'available. If you have any problems, please leave a message!',1
  1666.     Call Blank
  1667.     call Message DoorName,LineNumber,white'First Name? _',1
  1668.     Call Blank
  1669.     Call Blank
  1670.   end
  1671.   if CALLINGFLAG = 2 then do
  1672.      call Message DoorName,LineNumber,purple'VAX VMS MAINFRAME V5.12'normal,1
  1673.      Call Blank
  1674.      call Message DoorName,LineNumber,blue'Licensed to 'green||FOUNDNAME,1
  1675.      Call Blank
  1676.      call Message DoorName,LineNumber,white'Local>_',1
  1677.      Call Blank
  1678.      Call Blank
  1679.      Call Blank
  1680.   end
  1681.   if CALLINGFLAG = 3 then do
  1682.      Call Message DoorName,LineNumber,green||FOUNDNAME' 'cyan'computer'normal,1
  1683.      call Message DoorName,LineNumber,bluebak||white'This is a Goverment restricted area.'normal||cyan'  If you are not ',1
  1684.      Call Message DoorName,LineNumber,'authorized log off at once!  'red'Federal law prohibits any',1
  1685.      Call Message DoorName,LineNumber,'hacking or piracy anywhere!'normal,1
  1686.      Call Blank
  1687.      Call Message DoorName,LineNumber,'To login, enter information using this format:',1
  1688.      call Message DoorName,LineNumber,cyan' [USERNAME] 'white'/ 'cyan'[PASSWORD#1]'white' / 'cyan'[PASSWORD#2]'white' / 'cyan'[USERID#] 'normal,1
  1689.      Call Blank
  1690.      Call Message DoorName,LineNumber,'@>',1
  1691.   end
  1692.      Call Blank
  1693.      call Message DoorName,LineNumber,bluebak||white'('TERMNAME'''s Hacking POP-UP Window)'normal,1
  1694.      Call Message DoorName,LineNumber,MENU1'ÄÄ',1
  1695.      call Message DoorName,LineNumber,red' Now is your chance!  Should you hack or run?',1
  1696.      Call Blank
  1697.      call Message DoorName,LineNumber,red'             ['green'H'red']'cyan'ack                                                  ',1
  1698.      call Message DoorName,LineNumber,red'             ['green'R'red']'cyan'un                                                   ',1
  1699.      call Message DoorName,LineNumber,normal||MENU1'ÄÄ',1
  1700.      Call Blank
  1701.      call HotKey DoorName,LineNumber,red'['green'H'red' or'green' R'red']'cyan'> '
  1702.      ANS = upper(result)
  1703.      if ANS = 'H' then do
  1704.         Call CLS
  1705.         signal FIGHTINIT
  1706.      end
  1707.        Call Blank
  1708.        Call Message DoorName,LineNumber,'#@&%@#&*%$^',1
  1709.        Call Message DoorName,LineNumber,'NO CARRIER',1
  1710.        call loop
  1711.        maincounter = maincounter + 1
  1712.        call outturn
  1713.        signal DIAL
  1714.  
  1715. FIGHTINIT:
  1716.    TFM = left(FOUNDMEGS,6)
  1717.    TFN = left(FOUNDNAME,20)
  1718.    TYM = left(MEGS,4)
  1719.    TBW = left(BW,4)
  1720.    TTR = left(TROJ,4)
  1721.    TSC = left(SCA,4)
  1722.    Call CLS
  1723.    Call Blank
  1724.    call Message DoorName,LineNumber,cyan'You are currently using 'green||TERMNAME||cyan' and use 'green||DRIVENAME||cyan' backup',1
  1725.    Call Blank
  1726.    call Message DoorName,LineNumber,cyan' His megs: 'red||TFM||cyan' Name: 'red||TFN,1
  1727.    call Message DoorName,LineNumber,green'Your megs: 'red||tym||green'    BW: 'red||tbw||green' Troj: 'red||ttr||green' SCA: 'red||TSC||cyan,1
  1728.    Call Blank
  1729.  if expert = 0 | fightexpert >= 1 then do
  1730.      call FIGHTMENU
  1731.   end 
  1732.   if expert = 1 then call Message DoorName,LineNumber,red'['green'1 2 3 4 5 6 Q ?'red']'cyan,1
  1733.    Call Blank
  1734.    Call HotKey DoorName,LineNumber,'Term> '
  1735.    ANS = upper(RESULT)
  1736.    Call Blank
  1737.      if ANS = '?' then do
  1738.       fightexpert = 1
  1739.       signal FIGHTINIT
  1740.    end
  1741.    if ANS = 'Q' | ans = '6' | ans = 'NULL' then signal trydisc
  1742.    if ans = 'Z' then do
  1743.     maincounter = maincounter + 1
  1744. call outturn
  1745.   signal DIAL 
  1746.    end
  1747.    if ans = '1' then signal hackem
  1748.    if ans = '2' then signal hackem
  1749.    if ans = '3' then do
  1750.       if TROJ <=0 then do
  1751.          Call Message DoorName,LineNumber,'You have no Trojans!',1
  1752.          signal FIGHTINIT
  1753.       end
  1754.       Call CLS
  1755.       Call Blank
  1756.       Call Message DoorName,LineNumber,'Now sending VIRUS using ZMODEM...',1
  1757.       Call Blank
  1758.       Call Message DoorName,LineNumber,'Transfer Successful!',1
  1759.       Call Blank
  1760.       TROJUSED = TROJUSED + 1
  1761.       TROJ = TROJ - 1
  1762.       signal hackem
  1763.    end
  1764.    if ans = '4' then do
  1765.       if SCA <= 0 then do
  1766.          Call Message DoorName,LineNumber,'You have no SCA Viruses!',1
  1767.          signal FIGHTINIT
  1768.       end
  1769.       Call CLS
  1770.       Call Blank
  1771.       Call Message DoorName,LineNumber,'Now sending VIRUS using ZMODEM...',1
  1772.       Call Blank
  1773.       Call Message DoorName,LineNumber,'Transfer Successful!',1
  1774.       Call Blank
  1775.       SCAUSED = SCAUSED + 1
  1776.       SCA = SCA - 1
  1777.       signal hackem
  1778.    end
  1779.    if ans = '5' then do
  1780.       if BW <= 0 then do
  1781.          Call Message DoorName,LineNumber,'You have no Byte Warriors!',1
  1782.          signal FIGHTINIT
  1783.       end
  1784.       Call CLS
  1785.       Call Blank
  1786.       Call Message DoorName,LineNumber,'Now sending VIRUS using ZMODEM...',1
  1787.       Call Blank
  1788.       Call Message DoorName,LineNumber,'Transfer Successful!',1
  1789.       Call Blank
  1790.       BWUSED = BWUSED + 1
  1791.       BW = BW - 1
  1792.       signal hackem
  1793.    end
  1794.   signal trydisc 
  1795.  
  1796. HACKEM:
  1797.    if ANS = 1 then Call Message DoorName,LineNumber,normal'&^#@G!$KG*&%!@#($&^Yµ¡¤þ¾¼þ«·¾½¼¢tiyuTIYT^*!%#@$',1
  1798.    if ANS = 2 then Call Message DoorName,LineNumber,normal'You try to hack at his computer...',1
  1799.    if ANS = 3 then Call Message DoorName,LineNumber,normal'You try to upload a Trojan!',1
  1800.    if ANS = 4 then Call Message DoorName,LineNumber,normal'You try to upload an SCA!',1
  1801.    if ANS = 5 then Call Message DoorName,LineNumber,normal'You try to upload a Byte Warrior!',1
  1802.    if ANS = 1 then THRAN = random(1,2,time('s'))
  1803.    if ANS = 2 then THRAN = random(1,3,time('s'))
  1804.    if ANS = 3 then THRAN = random(1,termtype,time('s'))
  1805.    if ANS = 4 then THRAN = random(1,termtype,time('s'))
  1806.    if ANS = 5 then THRAN = random(1,termtype,time('s'))
  1807.    if THRAN <= termtype then do
  1808.       call RANDOMHITMESS      
  1809.       if ANS = 1 then THdam = random(1,10,time('s'))
  1810.       if ANS = 2 then THdam = random(1,15,time('s'))
  1811.       if ANS = 3 then do
  1812.          THdam = random(1,100,time('s'))
  1813.          Call Message DoorName,LineNumber,'The Trojan succeeds!',1
  1814.       end
  1815.       if ANS = 4 then do
  1816.          THdam = random(1,75,time('s'))
  1817.          Call Message DoorName,LineNumber,'The SCA messes him up!',1
  1818.       end
  1819.       if ANS = 5 then do
  1820.          THdam = random(1,50,time('s'))
  1821.          Call Message DoorName,LineNumber,'Byte Warrior city on his end!',1
  1822.       end
  1823.       if THDAM > FOUNDMEGS then THDAM = FOUNDMEGS
  1824.       Call Message DoorName,LineNumber,cyan||thdam||normal' megs of his drive are jelly!',1
  1825.       foundmegs = foundmegs - THdam
  1826.       if foundmegs <= 0 then do
  1827.          winflag = 0 
  1828.          signal writebbs      
  1829.       end
  1830.       TOTALMEGSCRASHED = TOTALMEGSCRASHED + THDAM
  1831.    end
  1832.    call HISTURN
  1833.    signal HISCOMBAT
  1834.  
  1835. HISCOMBAT:
  1836.    if HEHIT = 0 then do
  1837.       Call Message DoorName,LineNumber,'He doesnt do anything!',1
  1838.       signal FIGHTINIT
  1839.    end
  1840.    if foundmegs > 500 then foundmegs = 500
  1841.    hisdam = random(1,foundmegs,time('s'))
  1842.    if hisdam > megs then hisdam = megs 
  1843.    Call Message DoorName,LineNumber,'He trashes 'hisdam' megs on your computer!',1
  1844.    megs = megs - hisdam
  1845.    megslost = megslost + hisdam
  1846.    if megs <= 0 then do
  1847.       winflag = 1
  1848.       signal writebbs
  1849.    end
  1850.    signal FIGHTINIT
  1851.  
  1852. TRYDISC:
  1853.    Call Message DoorName,LineNumber,'You try to disconnect...........',1
  1854.    Call Blank
  1855.    HIT = random(1,2,time('s'))
  1856.    if HIT = 1 then do 
  1857.       Call Message DoorName,LineNumber,'#%@&#^%&@#',1
  1858.       Call Message DoorName,LineNumber,'NO CARRIER',1
  1859.       maincounter = maincounter + 1
  1860. call outturn
  1861.     signal dial
  1862.    end
  1863.    DAM = random(1,foundmegs,time('s'))
  1864.    oldmegs = megs
  1865.    megs = megs - dam
  1866.    if megs < 0 then megs = 0
  1867.    if megs = 0 then do
  1868.       Call Message DoorName,LineNumber,'You are trashed TOTALLY!',1
  1869.       megslost = megslost + oldmegs
  1870.    end
  1871.    if megs > 0 then do
  1872.       Call Message DoorName,LineNumber,'He did 'DAM' megs of damage!',1
  1873.       megslost = megslost + dam
  1874.    end
  1875.    call returnc
  1876.    totalloss = totalloss + 1
  1877.    WINFLAG = 1
  1878.    signal WRITEBBS
  1879.  
  1880. WRITEBBS:
  1881.    LASTFIGHT = FOUNDNAME
  1882.    if winflag = 0 then do
  1883.       extrabonus = random(1,3,time('s'))
  1884.       if extrabonus = 1 then do
  1885.          exbtype = random(1,50,time('s'))
  1886.          exbon = exbtype * 1000
  1887.          Call Message DoorName,LineNumber,normal'You get a special extra bonus of $'red||ExBon||normal'!',1
  1888.          money = money + exbon
  1889.       end
  1890.       moneyfound = random(1,othermegs*2,time('s'))
  1891.       findvir = random(1,2,time('s'))
  1892.       vir = 'no'
  1893.       numvir = ''
  1894.       if findvir = 1 then do
  1895.          numvir = random(1,5,time('s'))
  1896.          virtyp = random(1,3,time('s'))
  1897.          if virtyp = 1 then do
  1898.             bw = bw + numvir
  1899.             vir = 'Byte Warrior'
  1900.          end
  1901.          if virtyp = 2 then do
  1902.             troj = troj + numvir
  1903.             vir = 'Trojan'
  1904.          end
  1905.          if virtyp = 3 then do
  1906.             sca = sca + numvir
  1907.             vir = 'SCA'
  1908.          end
  1909.       end
  1910.       experience = experience + othermegs*100
  1911.       TOTALwins = TOTALwins + 1
  1912.       money = money + moneyfound
  1913.       Call Message DoorName,LineNumber,'The HAA rewards you 'green||othermegs*100||normal' experience points and',1
  1914.       Call Message DoorName,LineNumber,'you get an HAA bonus of $'purple||moneyfound||normal,1
  1915.       Call Message DoorName,LineNumber,'You find 'blue||numvir||normal' 'vir' virus(s)',1
  1916.    end
  1917.    if winflag = 1 then do
  1918.       TOTALLOSS = TOTALLOSS + 1
  1919.       Call Message DoorName,LineNumber,'You lost!',1
  1920.    end
  1921.    call returnc
  1922.    if CALLINGFLAG = 1 then call open(file, PHONES'LOCAL', 'R')
  1923.    if CALLINGFLAG = 2 then call open(file, PHONES'MAINFRAMES', 'R')
  1924.    if CALLINGFLAG = 3 then call open(file, PHONES'GOV', 'R')
  1925.          telnum = readln(file)
  1926.          do i = 1 to telnum
  1927.             LOCALNAME.i = readln(file)
  1928.             LOCALNUM.i = readln(file)
  1929.             LOCALMEGS.i = readln(file)
  1930.             LOCALWINS.i = readln(file)
  1931.             LOCALLOSS.i = readln(file)
  1932.          end
  1933.     call close(file)
  1934.     LOCALNAME.FOUNDLOOP = FOUNDNAME
  1935.     LOCALNUM.FOUNDLOOP = FOUNDNUM
  1936.     LOCALMEGS.FOUNDLOOP = OTHERMEGS
  1937.     if WINFLAG = 1 then LOCALWINS.FOUNDLOOP = LOCALWINS.FOUNDLOOP + 1
  1938.     if WINFLAG = 0 then LOCALLOSS.FOUNDLOOP = LOCALLOSS.FOUNDLOOP + 1
  1939.     if CALLINGFLAG = 1 then call open(file, PHONES'LOCAL', 'R')
  1940.     if CALLINGFLAG = 2 then call open(file, PHONES'MAINFRAMES', 'R')
  1941.     if CALLINGFLAG = 3 then call open(file, PHONES'GOV', 'R')
  1942.          call writeln(file, TELNUM)
  1943.          do i = 1 to telnum
  1944.             call writeln(file, LOCALNAME.i)
  1945.             call writeln(file, LOCALNUM.i)
  1946.             call writeln(file, LOCALMEGS.i)
  1947.             call writeln(file, LOCALWINS.i)
  1948.             call writeln(file, LOCALLOSS.i)
  1949.          end
  1950.     call close(file)
  1951.  maincounter = maincounter + 1
  1952. call outturn
  1953. signal DIAL
  1954.  
  1955. HISTURN:
  1956.    if OTHERMEGS < 50 then do
  1957.       HHRAN = random(1,5,time('s'))
  1958.    end
  1959.    if OTHERMEGS < 100 then do
  1960.       HHRAN = random(1,4,time('s'))
  1961.    end
  1962.    if OTHERMEGS < 150 then do
  1963.       HHRAN = random(1,3,time('s'))
  1964.    end
  1965.    if OTHERMEGS < 500 then do
  1966.       HHRAN = random(1,2,time('s'))
  1967.    end
  1968.    if OTHERMEGS < 1000 then do
  1969.       HHRAN = random(1,1,time('s'))
  1970.    end
  1971.    if hhran = 1 then HEHIT = 1
  1972.    if hhran > 1 then HEHIT = 0
  1973. RETURN
  1974.  
  1975. RANDOMHITMESS:
  1976.  RANMESS = random(1,5,time('s'))
  1977.    if RANMESS = 1 then do
  1978.       Call Message DoorName,LineNumber,'You got him!',1
  1979.    end
  1980.    if RANMESS = 2 then do
  1981.       Call Message DoorName,LineNumber,'You nailed him!',1
  1982.    end
  1983.    if RANMESS = 3 then do
  1984.       Call Message DoorName,LineNumber,'You fried him!',1
  1985.    end
  1986.    if RANMESS = 4 then do
  1987.       Call Message DoorName,LineNumber,'He is french toast on that round!',1
  1988.    end
  1989.    if RANMESS = 5 then do
  1990.       Call Message DoorName,LineNumber,'You can smell burnt chips thru the telephone lines!',1
  1991.    end
  1992. RETURN
  1993.  
  1994. NUMBERLIST:
  1995.  Call CLS
  1996.  Call Message DoorName,LineNumber,bluebak||white'Listing of:'normal,1
  1997.  Call Message DoorName,LineNumber,red'['green'A'red'] 'cyan'Local Boards',1
  1998.  Call Message DoorName,LineNumber,red'['green'B'red'] 'cyan'Mainframes',1
  1999.  Call Message DoorName,LineNumber,red'['green'C'red'] 'cyan'Government Computers',1
  2000.  Call Blank
  2001.  Call HotKey DoorName,LineNumber,'> '
  2002.  ANS = upper(RESULT)
  2003.  if ANS = 'NULL' then RETURN  
  2004.  if ANS = 'A' then do
  2005.     if ~exists(phones'LOCAL') then do
  2006.        Call Message DoorName,LineNumber,'There is not a local telephone book. Tell the SysOp!',1
  2007.        call returnc
  2008.        RETURN
  2009.     end
  2010.     call open(file, PHONES'LOCAL', 'R')
  2011.          telnum = readln(file)
  2012.          do i = 1 to telnum
  2013.             LOCALNAME.i = readln(file)
  2014.             LOCALNUM.i = readln(file)
  2015.             LOCALMEGS.i = readln(file)
  2016.             LOCALWINS.i = readln(file)
  2017.             LOCALLOSS.i = readln(FILE)
  2018.          end
  2019.     call close(file)
  2020.     Call CLS
  2021.     Call Message DoorName,LineNumber,normal||red'Megs      'green'Number         'yellow'WINS      'blue'LOSS      'purple'BBS Name ',1
  2022.     Call Message DoorName,LineNumber,red'----      'green'------         'yellow'----      'blue'----      'purple'--------',1
  2023.     phonecount = 0
  2024.     do i = 1 to telnum
  2025.        phonecount = phonecount + 1
  2026.        lnum = left(LOCALNUM.i,15)
  2027.        lmeg = left(LOCALMEGS.i,10)
  2028.        lnam = left(LOCALNAME.i,25)
  2029.        lwin = left(LOCALWINS.i,10)
  2030.        lloss = left(LOCALLOSS.i,10)
  2031.        Call Message DoorName,LineNumber,red||lmeg''green||lnum''yellow||lwin''blue||lloss''purple||lnam,1
  2032.        if phonecount > 20 then do
  2033.           call returnc
  2034.            phonecount = 0
  2035.           Call CLS
  2036.        end
  2037.     end
  2038.     Call Blank
  2039.     Call Message DoorName,LineNumber,'End of Local BBS List',1
  2040.      call returnc
  2041.      RETURN
  2042.  END
  2043.  if ANS = 'B' then do
  2044.     if ~exists(phones'MAINFRAMES') then do
  2045.        Call Message DoorName,LineNumber,'There is not a Mainframe telephone book. Tell the SysOp!',1
  2046.        call returnc
  2047.        RETURN
  2048.     end
  2049.     call open(file, PHONES'MAINFRAMES', 'R')
  2050.          telnum = readln(file)
  2051.          do i = 1 to telnum
  2052.             MAINFNAME.i = readln(file)
  2053.             MAINFNUM.i = readln(file)
  2054.             MAINFMEGS.i = readln(file)
  2055.             MAINFWINS.i = readln(file)
  2056.             MAINFLOSS.i = readln(FILE)
  2057.          end
  2058.     call close(file)
  2059.     Call CLS
  2060.     Call Message DoorName,LineNumber,normal||red'Megs      'green'Number         'yellow'WINS      'blue'LOSS      'purple'BBS Name ',1
  2061.     Call Message DoorName,LineNumber,red'----      'green'------         'yellow'----      'blue'----      'purple'--------',1
  2062.     phonecount = 0
  2063.     do i = 1 to telnum
  2064.        phonecount = phonecount + 1
  2065.        mnum = left(MAINFNUM.i,15)
  2066.        mmeg = left(MAINFMEGS.i,10)
  2067.        mnam = left(MAINFNAME.i,25)
  2068.        mwin = left(MAINFWINS.i,10)
  2069.        mloss = left(MAINFLOSS.i,10)
  2070.        Call Message DoorName,LineNumber,red||mmeg''green||mnum''yellow||mwin''blue||mloss''purple||mnam,1
  2071.        if phonecount > 20 then do
  2072.           call returnc
  2073.            phonecount = 0
  2074.           Call CLS
  2075.        end
  2076.     end
  2077.     Call Blank
  2078.     Call Message DoorName,LineNumber,'End of MainFrame List',1
  2079.      call returnc
  2080.      RETURN
  2081.  END
  2082.  if ANS = 'C' then do
  2083.     if ~exists(phones'GOV') then do
  2084.        Call Message DoorName,LineNumber,'There is not a Goverment telephone book. Tell the SysOp!',1
  2085.         call returnc
  2086.         RETURN
  2087.     end
  2088.     call open(file, PHONES'GOV', 'R')
  2089.          telnum = readln(file)
  2090.          do i = 1 to telnum
  2091.             GOVNAME.i = readln(file)
  2092.             GOVNUM.i = readln(file)
  2093.             GOVMEGS.i = readln(file)
  2094.             GOVWINS.i = readln(file)
  2095.             GOVLOSS.i = readln(FILE)
  2096.          end
  2097.     call close(file)
  2098.     Call CLS
  2099.     Call Message DoorName,LineNumber,normal||red'Megs      'green'Number         'yellow'WINS      'blue'LOSS      'purple'BBS Name ',1
  2100.     Call Message DoorName,LineNumber,red'----      'green'------         'yellow'----      'blue'----      'purple'--------',1
  2101.     phonecount = 0
  2102.     do i = 1 to telnum
  2103.        phonecount = phonecount + 1
  2104.        gnum = left(GOVNUM.i,15)
  2105.        gmeg = left(GOVMEGS.i,10)
  2106.        gnam = left(GOVNAME.i,25)
  2107.        gwin = left(GOVWINS.i,10)
  2108.        gloss = left(GOVLOSS.i,10)
  2109.        Call Message DoorName,LineNumber,red||gmeg''green||gnum''yellow||gwin''blue||gloss''purple||gnam,1
  2110.        if phonecount > 20 then do
  2111.           call returnc
  2112.            phonecount = 0
  2113.           Call CLS
  2114.        end
  2115.     end
  2116.     Call Blank
  2117.     Call Message DoorName,LineNumber,'End of Goverment  List',1
  2118.     call returnc
  2119.     RETURN
  2120.  END
  2121. Call NumberList
  2122.  
  2123. /* ---------------------------- CONVERSIONS -------------------------------- */
  2124.  
  2125. SAVEPLAY:
  2126. call open(file, SAVE''OREALNAME, 'W')
  2127.            call writeln(file,OALIAS)
  2128.            call writeln(file,OMONEY)
  2129.            call writeln(file,OMEGS)
  2130.            call writeln(file,OSCA)
  2131.            call writeln(file,OBW)
  2132.            call writeln(file,OTROJ)
  2133.            call writeln(file,ODRIVETYPE)
  2134.            call writeln(file,OTERMTYPE)
  2135.            call writeln(file,OEXPERIENCE)
  2136.            call writeln(file,OLASTFIGHT)
  2137.            call writeln(file,ONEWDATE)
  2138.            call writeln(file,OTOTALPLAYS)
  2139.            call writeln(file,OTOTALMEGSCRASHED)
  2140.            call writeln(file,OTOTALWINS)       
  2141.            call writeln(file,OTOTALLOSS)   
  2142.            call writeln(file,OMEGSLOST)
  2143.            call writeln(file,OBWUSED)
  2144.            call writeln(file,OTROJUSED)
  2145.            call writeln(file,OSCAUSED)         
  2146.            call writeln(file,OMAINCOUNTER)    
  2147.            call writeln(file,OPROTECT)
  2148.            call writeln(file,OBMONEY)
  2149.            call writeln(file,OATMPASS)
  2150.            call writeln(file,OEXPERT)
  2151. call close(file)
  2152. return
  2153.  
  2154. OTHERPLAY:
  2155. call open(file, SAVE''REALNAME.i, 'R')
  2156.           OALIAS.i = readln(file)
  2157.           OMONEY.i = readln(file)
  2158.           OMEGS.i = readln(file)
  2159.           OSCA.i = readln(file)
  2160.           OBW.i = readln(file)
  2161.           OTROJ.i = readln(file)
  2162.           ODRIVETYPE.i = readln(file)
  2163.           OTERMTYPE.i = readln(file)
  2164.           OEXPERIENCE.i = readln(file)
  2165.           OLASTFIGHT.i = readln(file)
  2166.           ONEWDATE.i = readln(file)
  2167.           OTOTALPLAYS.i = readln(file)
  2168.           OTOTALMEGSCRASHED.i = readln(file)
  2169.           OTOTALWINS.i = readln(file)
  2170.           OTOTALLOSS.i = readln(file)
  2171.           OMEGSLOST.i = readln(file)
  2172.           OBWUSED.i = readln(file)
  2173.           OTROJUSED.i = readln(file)
  2174.           OSCAUSED.i = readln(file)
  2175.           OMAINCOUNTER.i = readln(file)
  2176.           OPROTECT.i = readln(file)
  2177.           OBMONEY.i = readln(file)
  2178.           OATMPASS.i = readln(file)
  2179.           OEXPERT.i = readln(file)
  2180. call close(file)
  2181. return
  2182.  
  2183. MAINVARS:
  2184. call open(file, ConfigFile, 'R')
  2185.           SYSOPNAME = readln(file)
  2186.           BBSNAME = readln(file)
  2187.           BULLOPT = readln(file)
  2188.           BULLPATH1 = readln(file)
  2189.           BULLPATH2 = readln(file)
  2190.           MAXTURNS = readln(file)
  2191.           MAXPROTECT = readln(file)
  2192.           MAINPATH = readln(file)
  2193.           SAVE = readln(file)
  2194.           MESS = readln(file)
  2195.           PHONES = readln(file)
  2196.           HELPME = readln(file)
  2197. call close(file)
  2198.  
  2199. MENU1 = 'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ'
  2200. MENU2 = 'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ'
  2201. MENU3 = 'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ'
  2202. SMENU = 'º'      
  2203. EXPERT = 0 
  2204. OEXPERT = 0 
  2205. TOTALUSERS = 0
  2206. WINFLAG = 0
  2207. MEGS = 10
  2208. OMEGS = 10
  2209. BMONEY = 0
  2210. OBMONEY = 0
  2211. ATMPASS = 'NONE'
  2212. OATMPASS = 'NONE'
  2213. SCA = 1
  2214. OSCA = 1
  2215. BW = 1
  2216. OBW = 1
  2217. TROJ = 1
  2218. OTROJ = 1
  2219. DRIVETYPE = 1
  2220. ODRIVETYPE = 1
  2221. TERMTYPE = 1
  2222. OTERMTYPE = 1
  2223. EXPERIENCE = 0
  2224. OEXPERIENCE = 0
  2225. LASTFIGHT = 'None'
  2226. OLASTFIGHT = 'None'
  2227. TOTALPLAYS = 0
  2228. OTOTALPLAYS = 0
  2229. TOTALMEGSCRASHED = 0
  2230. OTOTALMEGSCRASHED = 0
  2231. TOTALWINS = 0
  2232. OTOTALWINS = 0
  2233. TOTALLOSS = 0
  2234. OTOTALLOSS = 0
  2235. MEGSLOST = 0
  2236. OMEGSLOST = 0
  2237. BWUSED = 0
  2238. OBWUSED = 0
  2239. TROJUSED = 0
  2240. OTROJUSED = 0
  2241. SCAUSED = 0
  2242. OSCAUSED = 0
  2243. MONEY = 1000
  2244. OMONEY = 1000
  2245. LEVEL = 1
  2246. LEVNAME = 'Beginner'
  2247. TOPWIN = 0
  2248. EXPERTOPT = 0
  2249. PROTECT = MAXPROTECT
  2250. OPROTECT = MAXPROTECT
  2251. VIN = 0
  2252. call GetVar DoorName,LineNumber,8
  2253. IF result >= 1 THEN DO
  2254.     red = ''
  2255.     green = ''
  2256.     yellow = ''
  2257.     blue = ''
  2258.     purple = ''
  2259.     cyan = ''
  2260.     white = ''
  2261.     italics = ''
  2262.     bold = ''
  2263.     normal = ''
  2264.     cls = '0C'x||''
  2265.     bluebak = ''
  2266.         END
  2267. ELSE DO
  2268.     red = ''
  2269.     green = ''
  2270.     yellow = ''
  2271.     blue = ''
  2272.     purple = ''
  2273.     cyan = ''
  2274.     white = ''
  2275.     italics = ''
  2276.     bold = ''
  2277.     normal = ''
  2278.     cls = '0C'x
  2279.     bluebak = ''
  2280.         END
  2281. return
  2282.  
  2283. OWRITE:
  2284. call open(file, SAVE''ONAME,'W')
  2285.             call writeln(file, OALIAS)
  2286.             call writeln(file, OMONEY)
  2287.             call writeln(file, OMEGS)
  2288.             call writeln(file, OSCA)
  2289.             call writeln(file, OBW)
  2290.             call writeln(file, OTROJ)
  2291.             call writeln(file, ODRIVETYPE)
  2292.             call writeln(file, OTERMTYPE)
  2293.             call writeln(file, OEXPERIENCE)
  2294.             call writeln(file, OLASTFIGHT)
  2295.             call writeln(file, ONEWDATE) 
  2296.             call writeln(file, OTOTALPLAYS)
  2297.             call writeln(file, OTOTALMEGSCRASHED)
  2298.             call writeln(file, OTOTALWINS)
  2299.             call writeln(file, OTOTALLOSS)
  2300.             call writeln(file, OMEGSLOST)
  2301.             call writeln(file, OBWUSED) 
  2302.             call writeln(file, OTROJUSED)
  2303.             call writeln(file, OSCAUSED)
  2304.             call writeln(file, OMAINCOUNTER) 
  2305.             call writeln(file, OPROTECT)
  2306.             call writeln(file, OBMONEY)
  2307.             call writeln(file, OATMPASS)
  2308.             call writeln(file, OEXPERT)
  2309. call close(file)
  2310. return
  2311.  
  2312. OREAD:
  2313. call open(file, SAVE''ONAME,'R')
  2314.       OALIAS = readln(file)
  2315.       OMONEY = readln(file) 
  2316.       OMEGS = readln(file)
  2317.       OSCA = readln(file)
  2318.       OBW = readln(file)
  2319.       OTROJ = readln(file)
  2320.       ODRIVETYPE = readln(file)
  2321.       OTERMTYPE = readln(file)
  2322.       OEXPERIENCE = readln(file)
  2323.       OLASTFIGHT = readln(file)
  2324.       ONEWDATE = readln(file)
  2325.       OTOTALPLAYS = readln(file)
  2326.       OTOTALMEGSCRASHED = readln(file)
  2327.       OTOTALWINS = readln(file)
  2328.       OTOTALLOSS = readln(file)
  2329.       OMEGSLOST = readln(file)
  2330.       OBWUSED = readln(file)
  2331.       OTROJUSED = readln(file)
  2332.       OSCAUSED = readln(file)
  2333.       OMAINCOUNTER = readln(file)
  2334.       OPROTECT = readln(file)
  2335.       OBMONEY = readln(file)
  2336.       OATMPASS = readln(file)
  2337.       OEXPERT = readln(file)
  2338. call close(file)
  2339. return
  2340.  
  2341. WRITEUSER:
  2342. call open(file, SAVE''NAME, 'W')
  2343.            call writeln(file,ALIAS)
  2344.            call writeln(file,MONEY)
  2345.            call writeln(file,MEGS)
  2346.            call writeln(file,SCA)
  2347.            call writeln(file,BW)
  2348.            call writeln(file,TROJ)
  2349.            call writeln(file,DRIVETYPE)
  2350.            call writeln(file,TERMTYPE)
  2351.            call writeln(file,EXPERIENCE)
  2352.            call writeln(file,LASTFIGHT)
  2353.            call writeln(file,NEWDATE)
  2354.            call writeln(file,TOTALPLAYS)
  2355.            call writeln(file,TOTALMEGSCRASHED)
  2356.            call writeln(file,TOTALWINS)       
  2357.            call writeln(file,TOTALLOSS)   
  2358.            call writeln(file,MEGSLOST)
  2359.            call writeln(file,BWUSED)
  2360.            call writeln(file,TROJUSED)
  2361.            call writeln(file,SCAUSED)         
  2362.            call writeln(file,MAINCOUNTER)    
  2363.            call writeln(file,PROTECT)
  2364.            call writeln(file,BMONEY)
  2365.            call writeln(file,ATMPASS)
  2366.            call writeln(file,EXPERT)
  2367. call close(file)
  2368. return
  2369.  
  2370. READUSER:
  2371.       call open(file, SAVE''NAME, 'R') 
  2372.            ALIAS = readln(file)
  2373.            MONEY = readln(file)                 /* Open users file and */
  2374.            MEGS = readln(file)                  /* assign game variables */
  2375.            SCA = readln(file)
  2376.            BW = readln(file)
  2377.            TROJ = readln(file)
  2378.            DRIVETYPE = readln(file)
  2379.            TERMTYPE = readln(file)
  2380.            EXPERIENCE = readln(file)
  2381.            LASTFIGHT = readln(file)
  2382.            NEWDATE = readln(file)
  2383.            TOTALPLAYS = readln(file)
  2384.            TOTALMEGSCRASHED = readln(file)
  2385.            TOTALWINS = readln(file)
  2386.            TOTALLOSS = readln(file)
  2387.            MEGSLOST = readln(file)
  2388.            BWUSED = readln(file)
  2389.            TROJUSED = readln(file)
  2390.            SCAUSED = readln(file)
  2391.            MAINCOUNTER = readln(file)
  2392.            PROTECT = readln(file)
  2393.            BMONEY = readln(file)
  2394.            ATMPASS = readln(file)
  2395.            EXPERT = readln(file)
  2396. call close(file)
  2397. return
  2398.  
  2399. CONVERSION:
  2400.   if DRIVETYPE = 1 then DRIVENAME= 'Cheapo'
  2401.   if DRIVETYPE = 2 then DRIVENAME= 'Poor'
  2402.   if DRIVETYPE = 3 then DRIVENAME= 'Average'
  2403.   if DRIVETYPE = 4 then DRIVENAME= 'Good'
  2404.   if DRIVETYPE = 5 then DRIVENAME= 'Outstanding'
  2405.   if DRIVETYPE = 6 then DRIVENAME= 'King of Kings'
  2406.   if DRIVETYPE = 7 then DRIVENAME= 'Lord of Lords'
  2407.   if DRIVETYPE = 8 then DRIVENAME= 'Prince of Peace'
  2408.   if DRIVETYPE = 9 then DRIVENAME= 'Ruler of the World'
  2409.   if DRIVETYPE = 10 then DRIVENAME= 'Ruler of the Universe'
  2410.   if TERMTYPE = 1 then TERMNAME = 'Dumb Term'
  2411.   if TERMTYPE = 2 then TERMNAME = 'SkyTerm'
  2412.   if TERMTYPE = 3 then TERMNAME = 'ProComm'
  2413.   if TERMTYPE = 4 then TERMNAME = 'JRComm'
  2414.   if TERMTYPE = 5 then TERMNAME = 'HackerTerm'
  2415.   if TERMTYPE = 6 then TERMNAME = 'CrackerComm'
  2416.   if TERMTYPE = 7 then TERMNAME = 'HackerTerm2.0'
  2417.   if TERMTYPE = 8 then TERMNAME = 'CrackerComm2.0'
  2418.   if TERMTYPE = 9 then TERMNAME = 'KillTerm'
  2419.   if TERMTYPE = 10 then TERMNAME = 'SysOps Term'
  2420.   if TERMTYPE = 11 then TERMNAME = 'SysOps Term 2'
  2421.   if TERMTYPE = 12 then TERMNAME = 'SysOps Term 3'
  2422.   if TERMTYPE = 13 then TERMNAME = 'SysOps Term 4'
  2423.   if TERMTYPE = 14 then TERMNAME = 'SysOps Term 5'
  2424.   if TERMTYPE = 15 then TERMNAME = 'SysOps Term 6'
  2425.   if EXPERIENCE < 10000 then do
  2426.      LEVEL = 1
  2427.      LEVNAME = 'Beginner'
  2428.   end
  2429.   if EXPERIENCE >= 10000 then do
  2430.      LEVEL = 2
  2431.      LEVNAME = 'Amateur Pirate'
  2432.   end
  2433.   if EXPERIENCE >= 20000 then do
  2434.      LEVEL = 3
  2435.      LEVNAME = 'Novice Pirate'
  2436.   end
  2437.   if EXPERIENCE >= 35000 then do
  2438.      LEVEL = 4
  2439.      LEVNAME = 'Master Pirate'
  2440.   end
  2441.   if EXPERIENCE >= 50000 then do
  2442.      LEVEL = 5
  2443.      LEVNAME = 'Amateur Cracker'
  2444.   end
  2445.   if EXPERIENCE >= 65000 then do
  2446.      LEVEL = 6
  2447.      LEVNAME = 'Novice Cracker'
  2448.   end
  2449.   if EXPERIENCE >= 80000 then do
  2450.      LEVEL = 7
  2451.      LEVNAME = 'Master Cracker'
  2452.   end
  2453.   if EXPERIENCE >= 95000 then do
  2454.      LEVEL = 8
  2455.      LEVNAME = 'Amateur Hacker'
  2456.   end
  2457.   if EXPERIENCE >= 120000 then do
  2458.      LEVEL = 9
  2459.      LEVNAME = 'Novice Hacker'
  2460.   end
  2461.   if EXPERIENCE >= 150000 then do
  2462.      LEVEL = 10
  2463.      LEVNAME = 'Master Hacker'
  2464.   end
  2465.   if EXPERIENCE >= 175000 then do
  2466.      LEVEL = 11
  2467.      LEVNAME = 'Owner Of A Pirate Group'
  2468.   end
  2469.   if EXPERIENCE >= 225000 then do
  2470.      LEVEL = 12
  2471.      LEVNAME = 'Owner Of A Hacking Group'
  2472.   end
  2473.   if EXPERIENCE >= 300000 then do
  2474.      LEVEL = 13
  2475.      LEVNAME = 'Owner Of A Cracking Group'
  2476.   end
  2477.   if EXPERIENCE >= 400000 then do
  2478.      LEVEL = 14
  2479.      LEVNAME = 'Owner Of A Phreaking Group'
  2480.   end
  2481.   if EXPERIENCE >= 550000 then do
  2482.      LEVEL = 15
  2483.      LEVNAME = 'Americas most wanted'
  2484.   end
  2485.   if EXPERIENCE >= 750000 then do
  2486.      LEVEL = 16
  2487.      LEVNAME = 'Secret Member of the HAA'
  2488.   end
  2489.   if EXPERIENCE >= 1000000 then do
  2490.      LEVEL = 17
  2491.      LEVNAME = 'Full Member of the HAA'
  2492.   end
  2493.   if EXPERIENCE >= 1250000 then do
  2494.      LEVEL = 18
  2495.      LEVNAME = 'Vice-President of the HAA'
  2496.   end
  2497.   if EXPERIENCE >= 2500000 then do
  2498.      LEVEL = 19
  2499.      LEVNAME = 'President Of The HAA'
  2500.   end
  2501.   if EXPERIENCE >= 3000000 then do
  2502.      LEVEL = 20
  2503.      LEVNAME = 'Chairman Of The Board For The HAA'
  2504.   end
  2505. RETURN
  2506.  
  2507. OCONVERSION:
  2508.   if OEXPERIENCE.i < 10000 then do
  2509.      OLEVEL = 1
  2510.      OLEVNAME = 'Beginner'
  2511.   end
  2512.   if OEXPERIENCE.i >= 10000 then do
  2513.      OLEVEL = 2
  2514.      OLEVNAME = 'Amateur Pirate'
  2515.   end
  2516.   if OEXPERIENCE.i >= 20000 then do
  2517.      OLEVEL = 3
  2518.      OLEVNAME = 'Novice Pirate'
  2519.   end
  2520.   if OEXPERIENCE.i >= 35000 then do
  2521.      OLEVEL = 4
  2522.      OLEVNAME = 'Master Pirate'
  2523.   end
  2524.   if OEXPERIENCE.i >= 50000 then do
  2525.      OLEVEL = 5
  2526.      OLEVNAME = 'Amateur Cracker'
  2527.   end
  2528.   if OEXPERIENCE.i >= 65000 then do
  2529.      OLEVEL = 6
  2530.      OLEVNAME = 'Novice Cracker'
  2531.   end
  2532.   if OEXPERIENCE.i >= 80000 then do
  2533.      OLEVEL = 7
  2534.      OLEVNAME = 'Master Cracker'
  2535.   end
  2536.   if OEXPERIENCE.i >= 95000 then do
  2537.      OLEVEL = 8
  2538.      OLEVNAME = 'Amateur Hacker'
  2539.   end
  2540.   if OEXPERIENCE.i >= 120000 then do
  2541.      OLEVEL = 9
  2542.      OLEVNAME = 'Novice Hacker'
  2543.   end
  2544.   if OEXPERIENCE.i >= 150000 then do
  2545.      OLEVEL = 10
  2546.      OLEVNAME = 'Master Hacker'
  2547.   end
  2548.   if OEXPERIENCE.i >= 175000 then do
  2549.      OLEVEL = 11
  2550.      OLEVNAME = 'Owner Of A Pirate Group'
  2551.   end
  2552.   if OEXPERIENCE.i >= 225000 then do
  2553.      OLEVEL = 12
  2554.      OLEVNAME = 'Owner Of A Hacking Group'
  2555.   end
  2556.   if OEXPERIENCE.i >= 300000 then do
  2557.      OLEVEL = 13
  2558.      OLEVNAME = 'Owner Of A Cracking Group'
  2559.   end
  2560.   if OEXPERIENCE.i >= 400000 then do
  2561.      OLEVEL = 14
  2562.      OLEVNAME = 'Owner Of A Phreaking Group'
  2563.   end
  2564.   if OEXPERIENCE.i >= 550000 then do
  2565.      OLEVEL = 15
  2566.      OLEVNAME = 'Americas most wanted'
  2567.   end
  2568.   if OEXPERIENCE.i >= 750000 then do
  2569.      OLEVEL = 16
  2570.      OLEVNAME = 'Secret Member of the HAA'
  2571.   end
  2572.   if OEXPERIENCE.i >= 1000000 then do
  2573.      OLEVEL = 17
  2574.      OLEVNAME = 'Full Member of the HAA'
  2575.   end
  2576.   if OEXPERIENCE.i >= 1250000 then do
  2577.      OLEVEL = 18
  2578.      OLEVNAME = 'Vice-President of the HAA'
  2579.   end
  2580.   if OEXPERIENCE.i >= 2500000 then do
  2581.      OLEVEL = 19
  2582.      OLEVNAME = 'President Of The HAA'
  2583.   end
  2584.   if OEXPERIENCE.i >= 3000000 then do
  2585.      OLEVEL = 20
  2586.      OLEVNAME = 'Chairman Of The Board For The HAA'
  2587.   end
  2588. RETURN
  2589.  
  2590. OCONVERSION2:
  2591.   if ODRIVETYPE = 1 then ODRIVENAME= 'Cheapo'
  2592.   if ODRIVETYPE = 2 then ODRIVENAME= 'Poor'
  2593.   if ODRIVETYPE = 3 then ODRIVENAME= 'Average'
  2594.   if ODRIVETYPE = 4 then ODRIVENAME= 'Good'
  2595.   if ODRIVETYPE = 5 then ODRIVENAME= 'Outstanding'
  2596.   if ODRIVETYPE = 6 then ODRIVENAME= 'King of Kings'
  2597.   if ODRIVETYPE = 7 then ODRIVENAME= 'Lord of Lords'
  2598.   if ODRIVETYPE = 8 then ODRIVENAME= 'Prince of Peace'
  2599.   if ODRIVETYPE = 9 then ODRIVENAME= 'Ruler of the World'
  2600.   if ODRIVETYPE = 10 then ODRIVENAME= 'Ruler of the Universe'
  2601.   if OTERMTYPE = 1 then OTERMNAME = 'Dumb Term'
  2602.   if OTERMTYPE = 2 then OTERMNAME = 'SkyTerm'
  2603.   if OTERMTYPE = 3 then OTERMNAME = 'ProComm'
  2604.   if OTERMTYPE = 4 then OTERMNAME = 'JRComm'
  2605.   if OTERMTYPE = 5 then OTERMNAME = 'HackerTerm'
  2606.   if OTERMTYPE = 6 then OTERMNAME = 'CrackerComm'
  2607.   if OTERMTYPE = 7 then OTERMNAME = 'HackerTerm2.0'
  2608.   if OTERMTYPE = 8 then OTERMNAME = 'CrackerComm2.0'
  2609.   if OTERMTYPE = 9 then OTERMNAME = 'KillTerm'
  2610.   if OTERMTYPE = 10 then OTERMNAME = 'SysOps Term'
  2611.   if OTERMTYPE = 11 then OTERMNAME = 'SysOps Term 2'
  2612.   if OTERMTYPE = 12 then OTERMNAME = 'SysOps Term 3'
  2613.   if OTERMTYPE = 13 then OTERMNAME = 'SysOps Term 4'
  2614.   if OTERMTYPE = 14 then OTERMNAME = 'SysOps Term 5'
  2615.   if OTERMTYPE = 15 then OTERMNAME = 'SysOps Term 6'
  2616.   if OEXPERIENCE < 10000 then do
  2617.      OLEVEL = 1
  2618.      OLEVNAME = 'Beginner'
  2619.   end
  2620.   if OEXPERIENCE >= 10000 then do
  2621.      OLEVEL = 2
  2622.      OLEVNAME = 'Amateur Pirate'
  2623.   end
  2624.   if OEXPERIENCE >= 20000 then do
  2625.      OLEVEL = 3
  2626.      OLEVNAME = 'Novice Pirate'
  2627.   end
  2628.   if OEXPERIENCE >= 35000 then do
  2629.      OLEVEL = 4
  2630.      OLEVNAME = 'Master Pirate'
  2631.   end
  2632.   if OEXPERIENCE >= 50000 then do
  2633.      OLEVEL = 5
  2634.      OLEVNAME = 'Amateur Cracker'
  2635.   end
  2636.   if OEXPERIENCE >= 65000 then do
  2637.      OLEVEL = 6
  2638.      OLEVNAME = 'Novice Cracker'
  2639.   end
  2640.   if OEXPERIENCE >= 80000 then do
  2641.      OLEVEL = 7
  2642.      OLEVNAME = 'Master Cracker'
  2643.   end
  2644.   if OEXPERIENCE >= 95000 then do
  2645.      OLEVEL = 8
  2646.      OLEVNAME = 'Amateur Hacker'
  2647.   end
  2648.   if OEXPERIENCE >= 120000 then do
  2649.      OLEVEL = 9
  2650.      OLEVNAME = 'Novice Hacker'
  2651.   end
  2652.   if OEXPERIENCE >= 150000 then do
  2653.      OLEVEL = 10
  2654.      OLEVNAME = 'Master Hacker'
  2655.   end
  2656.   if OEXPERIENCE >= 175000 then do
  2657.      OLEVEL = 11
  2658.      OLEVNAME = 'Owner Of A Pirate Group'
  2659.   end
  2660.   if OEXPERIENCE >= 225000 then do
  2661.      OLEVEL = 12
  2662.      OLEVNAME = 'Owner Of A Hacking Group'
  2663.   end
  2664.   if OEXPERIENCE >= 300000 then do
  2665.      OLEVEL = 13
  2666.      OLEVNAME = 'Owner Of A Cracking Group'
  2667.   end
  2668.   if OEXPERIENCE >= 400000 then do
  2669.      OLEVEL = 14
  2670.      OLEVNAME = 'Owner Of A Phreaking Group'
  2671.   end
  2672.   if OEXPERIENCE >= 550000 then do
  2673.      OLEVEL = 15
  2674.      OLEVNAME = 'Americas most wanted'
  2675.   end
  2676.   if OEXPERIENCE >= 750000 then do
  2677.      OLEVEL = 16
  2678.      OLEVNAME = 'Secret Member of the HAA'
  2679. end
  2680.   if OEXPERIENCE >= 1000000 then do
  2681.      OLEVEL = 17
  2682.      OLEVNAME = 'Full Member of the HAA'
  2683. end
  2684.   if OEXPERIENCE >= 1250000 then do
  2685.      OLEVEL = 18
  2686.      OLEVNAME = 'Vice-President of the HAA'
  2687. end
  2688.   if OEXPERIENCE >= 2500000 then do
  2689.      OLEVEL = 19
  2690.      OLEVNAME = 'President Of The HAA'
  2691.   end
  2692.   if OEXPERIENCE >= 3000000 then do
  2693.      OLEVEL = 20
  2694.      OLEVNAME = 'Chairman Of The Board For The HAA'
  2695.   end
  2696. RETURN
  2697.  
  2698. /* ---------------------------- END CONVERSIONS -------------------------------- */
  2699.  
  2700. /* ---------------------------- MENUS ------------------------------------------ */
  2701.  
  2702. CREDITCARDSMENU:
  2703. Call Message DoorName,LineNumber,normal||CLS,1
  2704. Call Message DoorName,LineNumber,MENU2'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ',1
  2705. Call Message DoorName,LineNumber,cyan'                Major Credit Cards',1
  2706. Call Blank
  2707. Call Message DoorName,LineNumber,red'  ['green'1'red']'cyan' Spacys                'red'['green'7'red']'cyan' Winers Club                 ',1
  2708. Call Message DoorName,LineNumber,red'  ['green'2'red']'cyan' CJNickels             'red'['green'8'red']'cyan' Carte Blanco                ',1
  2709. Call Message DoorName,LineNumber,red'  ['green'3'red']'cyan' MasterKard            'red'['green'9'red']'cyan' Viza Gold                   ',1
  2710. Call Message DoorName,LineNumber,red'  ['green'4'red']'cyan' Diskover             'red'['green'10'red']'cyan' American Xpress Platinum    ',1
  2711. Call Message DoorName,LineNumber,red'  ['green'5'red']'cyan' Viza                 'red'['green'11'red']'cyan' Abyss Gold                  ',1
  2712. Call Message DoorName,LineNumber,red'  ['green'6'red']'cyan' American Xpress      'red'['green'12'red']'cyan' Abyss Platinum              ',1
  2713. Call Blank
  2714. Call Message DoorName,LineNumber,green'  The higher the number the more money you can get, but     ',1
  2715. Call Message DoorName,LineNumber,'  the harder it is and the more trouble you can get into.   ',1
  2716. Call Message DoorName,LineNumber,'  If you do not succeed, you may be penalized up to         ',1
  2717. Call Message DoorName,LineNumber,'  $100,000, a loss of level, or simply a slap on the        ',1
  2718. Call Message DoorName,LineNumber,'  wrist!                                                    ',1
  2719. Call Blank
  2720. Call Message DoorName,LineNumber,normal||MENU2'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ',1
  2721. Call returnc
  2722. return
  2723.  
  2724. FIGHTMENU:
  2725.       Call Blank
  2726.       call Message DoorName,LineNumber,red'  ['green'1'red']'cyan' Line noise        'red' ['green'4'red']'cyan' Upload SCA Virus',1
  2727.       call Message DoorName,LineNumber,red'  ['green'2'red']'cyan' Normal Hack       'red' ['green'5'red']'cyan' Upload Byte Warrior Virus',1
  2728.       call Message DoorName,LineNumber,red'  ['green'3'red']'cyan' Upload Trojan     'red' ['green'6'red']'cyan' Try to Disconnect',1
  2729.       Call Blank
  2730. RETURN
  2731.  
  2732. BUYVIRUS:
  2733. Call CLS
  2734. Call Message DoorName,LineNumber,normal||MENU2,1
  2735.    Call Message DoorName,LineNumber,bluebak||white'                  Viruses                    'normal,1
  2736.    Call Blank
  2737.    call Message DoorName,LineNumber,red'  ['green'1'red'] 'cyan'Byte Warrior'yellow'              $100',1
  2738.    call Message DoorName,LineNumber,red'  ['green'2'red'] 'cyan'SCA   'yellow'                    $1,000',1
  2739.    call Message DoorName,LineNumber,red'  ['green'3'red'] 'cyan'Trojan'yellow'                    $2,500',1
  2740.    Call Blank
  2741.    call Message DoorName,LineNumber,white'   More will be created in the near future',1
  2742. Call Message DoorName,LineNumber,normal||MENU2,1
  2743. RETURN
  2744.  
  2745. MENU:
  2746. TEMPMEGS = right(MEGS,4)
  2747. if name = SYSOPNAME then
  2748.  sysbyte='185117'
  2749. else sysbyte='176141'
  2750. Call CLS
  2751.   Call Message DoorName,LineNumber,Normal||MENU1,1
  2752.   Call Message DoorName,LineNumber,SMENU||bluebak||white 'Main Directory    Bytes in dir: 'cyan||sysbyte||white'    Bytes free: 'red||TEMPmegs'M     'white||SMENU||normal,1
  2753.   Call Message DoorName,LineNumber,MENU1,1
  2754.   Call Message DoorName,LineNumber,bluebak||yellow 'Bytes:                     Description:             File Name:    'normal,1
  2755.   Call Message DoorName,LineNumber,cyan' 92810'purple'                      CD to Terminal Dir'red' ----- 'green'CD DIAL',1
  2756.   Call Message DoorName,LineNumber,cyan' 21143'purple'     Call Hackers Association of America'red' ----- 'green'HAA',1
  2757.   Call Message DoorName,LineNumber,cyan'  9432'purple'                Send user a Transmission'red' ----- 'green'TRAN',1
  2758.   Call Message DoorName,LineNumber,cyan'  5601'purple'                        List all Hackers'red' ----- 'green'USER',1
  2759.   Call Message DoorName,LineNumber,cyan'  5512'purple'                         List YOUR Stats'red' ----- 'green'STATS',1
  2760.   Call Message DoorName,LineNumber,cyan'  8120'purple'                             Top Hackers'red' ----- 'green'TOP',1
  2761.   Call Message DoorName,LineNumber,cyan'  2356'purple'                       Turn OFF Computer'red' ----- 'green'PARK',1
  2762.   Call Message DoorName,LineNumber,cyan' 10921'purple'                     Spy on another user'red' ----- 'green'SPY',1
  2763.   Call Message DoorName,LineNumber,cyan'  1123'purple'                      Expert Mode ON/OFF'red' ----- 'green'EXPERT',1
  2764.   Call Message DoorName,LineNumber,cyan'  9125'purple'                       Hack another user'red' ----- 'green'HACKOTHER',1
  2765.   Call Message DoorName,LineNumber,cyan'  9998'purple'                  Connect to ATM Network'red' ----- 'green'ATM',1
  2766.   if name = SYSOPNAME then Call Message DoorName,LineNumber,cyan'  8976'purple'                              SYSOP menu'red' ----- 'green'SYSOP',1
  2767.   Call Message DoorName,LineNumber,normal||MENU1,1
  2768.   Call Message DoorName,LineNumber,cyan'                        Type 'green'HELP'cyan' for Help',1
  2769.   Call Message DoorName,LineNumber,normal||MENU1,1
  2770. RETURN
  2771.  
  2772. HAAMENU:
  2773. Call CLS
  2774. Call Message DoorName,LineNumber,'Now connected to the HAA........',1
  2775. Call Blank
  2776. Call Message DoorName,LineNumber,normal||MENU2'ÄÄÄÄÄÄÄÄÄ',1
  2777.  Call Message DoorName,LineNumber,bluebak||white'      H A C K E R S   A S S C   O F   A M E R I C A    'normal,1
  2778.  Call Blank
  2779.  call Message DoorName,LineNumber,red'  ['green'1'red'] 'cyan'Fix Megabyte Damage     'red'['green'5'red'] 'cyan'Buy Viruses ',1
  2780.  call Message DoorName,LineNumber,red'  ['green'2'red'] 'cyan'Hack Credit Cards       'red'['green'6'red'] 'cyan'Gamble $$$  ',1
  2781.  call Message DoorName,LineNumber,red'  ['green'3'red'] 'cyan'Buy Terminals           'red'['green'7'red'] 'cyan'Disconnect from HAA',1
  2782.  call Message DoorName,LineNumber,red'  ['green'4'red'] 'cyan'Buy Hardware',1
  2783.  Call Blank
  2784.  Call Message DoorName,LineNumber,normal||MENU2'ÄÄÄÄÄÄÄÄÄ',1
  2785.   vin = 1
  2786. RETURN
  2787.  
  2788. DIALMENU:
  2789. bid = 108963
  2790. if NAME = SYSOPNAME then bid = 118963
  2791. TEMPMEGS = right(MEGS,4)
  2792. TTN = right(TERMNAME,15)
  2793.    Call CLS
  2794.    Call Message DoorName,LineNumber,normal||MENU1,1
  2795.    Call Message DoorName,LineNumber,bluebak||white' Terminal Directory   Bytes in dir:   'cyan'108963 'white'  Bytes free: 'red||TEMPmegs'M   'normal,1
  2796.    Call Message DoorName,LineNumber,MENU1,1
  2797.    Call Message DoorName,LineNumber,bluebak||yellow' Bytes:              Description:                    File Name:    'normal,1
  2798.    call Message DoorName,LineNumber,cyan' 94421'purple'                         'TTN||red' ----- 'green'TERM',1
  2799.    call Message DoorName,LineNumber,cyan'  5631'purple'               Telephone Number Listings'red' ----- 'green'NUMBERS',1
  2800.    if NAME = SYSOPNAME then call Message DoorName,LineNumber,cyan' 10000'purple'                     Edit Telephone Book'red' ----- 'green'EDIT',1
  2801.    call Message DoorName,LineNumber,cyan'  1123'purple'                      Expert Mode ON/OFF'red' ----- 'green'EXPERT',1
  2802.    call Message DoorName,LineNumber,cyan'  5432'purple'                    CD to MAIN DIRECTORY'red' ----- 'green'CD MAIN',1
  2803.    call Message DoorName,LineNumber,cyan'  2356'purple'                       Turn computer OFF'red' ----- 'green'PARK',1
  2804.    Call Blank
  2805.    Call Message DoorName,LineNumber,normal||MENU1,1
  2806. RETURN
  2807.  
  2808. ATMMENU:
  2809. call nocarrier
  2810. call outturn
  2811.  if expert = 0 & expertopt = 0 then call ATMEXPERTOFF
  2812.  if expert = 1 & expertopt = 0 then call ATMEXPERTON
  2813. Call Blank
  2814. call HotKey DoorName,LineNumber,green'(Turns Left:'cyan||MAXTURNS-MAINCOUNTER||green') Make Selection > '
  2815. ans = upper(result)
  2816. if ans = '2' then do
  2817. expertopt = 0
  2818. signal DEPO
  2819. end
  2820. if ans = '3' then do
  2821. expertopt = 0
  2822. signal WITH
  2823. end
  2824. if ans = '5' then do
  2825. expertopt = 0
  2826. signal hackpass
  2827. end
  2828. if ans = '4' then do
  2829. expertopt = 0
  2830. Call CLS
  2831. call Prompt DoorName,LineNumber,green'Please enter a NEW 2 character password. > ',2
  2832. atmpasst = upper(result)
  2833. charo = left(atmpasst,1)
  2834. chart = right(atmpasst,1)
  2835. converto = c2d(charo)
  2836. convertt = c2d(chart)
  2837. if converto > 90 | converto < 48 | convertt > 90 | convertt < 48 then do
  2838. Call Blank
  2839. Call Message DoorName,LineNumber,You MUST enter an ALPHANUMERIC PASSWORD!!,1
  2840. call returnc
  2841. signal ATMMENU
  2842. end
  2843. Call Blank
  2844. Call Message DoorName,LineNumber,cyan'You have entered 'red||atmpasst||cyan'.',1
  2845. Call Blank
  2846. Call HotKey DoorName,LineNumber,green'Is this correct? (y/N) > '
  2847. ans = upper(result)
  2848. if ans = 'Y' then do
  2849.  Call CLS
  2850.  Call Blank
  2851.  Call Message DoorName,LineNumber,cyan'Your password has been changed!',1
  2852.  call returnc
  2853.  atmpass = atmpasst
  2854.  call writeuser
  2855.  end
  2856. signal atmmenu
  2857. end
  2858. if ans = '?' then do
  2859. expertopt = 1
  2860. call ATMEXPERTOFF
  2861. signal atmmenu
  2862. end
  2863. if ans = '1' | ans = ' ' | ans = 'Q' then do
  2864. maincounter = maincounter + 1
  2865. Call Blank
  2866. Call Blank
  2867. Call Message DoorName,LineNumber,cyan'Thank you for banking thru the ATM Network! Call us and ask about',1
  2868. Call Message DoorName,LineNumber,'our LOW APR VISA & MASTERCARDS',1
  2869. call returnc
  2870. call Message DoorName,LineNumber,white,1
  2871. Call Message DoorName,LineNumber,'*&*&@#*&',1
  2872. Call Message DoorName,LineNumber,'NO CARRIER',1
  2873. signal main
  2874. end
  2875. call nocarrier
  2876. signal ATMMENU
  2877.  
  2878. ATMEXPERTOFF:
  2879. Call CLS
  2880. Call Message DoorName,LineNumber,white'                   Account#    :'RED' 0993-24300'alias'Z883',1
  2881. Call Message DoorName,LineNumber,white'                   Pocket Money:'RED money,1
  2882. Call Message DoorName,LineNumber,white'                   Bank Money  :'RED bmoney,1
  2883. Call Blank
  2884. Call Message DoorName,LineNumber,red'                   ['green'1'red']'cyan' Disconnect from ATM Network',1
  2885. Call Message DoorName,LineNumber,red'                   ['green'2'red']'cyan' Deposit Money',1
  2886. Call Message DoorName,LineNumber,red'                   ['green'3'red']'cyan' Withdraw Money',1
  2887. Call Message DoorName,LineNumber,red'                   ['green'4'red']'cyan' Change Password',1
  2888. Call Message DoorName,LineNumber,red'                   ['green'5'red']'cyan' Attempt to access another account',1
  2889.  return
  2890.  
  2891. ATMEXPERTON:
  2892. Call CLS
  2893. Call Message DoorName,LineNumber,white'                   Account#    :'RED' 0993-24300'alias'Z883',1
  2894. Call Message DoorName,LineNumber,white'                   Pocket Money:'RED money,1
  2895. Call Message DoorName,LineNumber,white'                   Bank Money  :'RED bmoney,1
  2896. Call Blank
  2897. call Message DoorName,LineNumber,red'['green'1 2 3 4 5 ?'red']'cyan,1
  2898.  return
  2899.  
  2900. SYSOPMEN:
  2901.  found = 0
  2902.  if name ~= SYSOPNAME then do
  2903.   Call CLS
  2904.   Call Message DoorName,LineNumber,cyan'Access to this area is only for the SYSOP!',1
  2905.   call returnc
  2906.   signal main
  2907.   end
  2908.   Call CLS
  2909.   Call Message DoorName,LineNumber,bluebak||white'S Y S O P  M E N U'normal,1
  2910.   Call Blank
  2911.   Call Message DoorName,LineNumber,red'['green'0'red']'cyan' Quit SYSOP menu',1
  2912.   Call Message DoorName,LineNumber,red'['green'1'red']'cyan' Reset the game',1
  2913.   Call Message DoorName,LineNumber,red'['green'2'red']'cyan' Delete a PLAYER',1
  2914.   Call Message DoorName,LineNumber,red'['green'3'red']'cyan' Edit a PLAYER',1
  2915.   Call Blank
  2916.   Call HotKey DoorName,LineNumber,green'Sysop Menu option > '
  2917.   ans = upper(result)
  2918. if ans = '0' | ans = 'Q' then do
  2919. signal main
  2920. end
  2921. if ans = '1' then do
  2922.   Call CLS
  2923.   Call Blank
  2924.   Call Message DoorName,LineNumber,cyan'RESET GAME...'red,1
  2925.   Call Blank
  2926.   Call Message DoorName,LineNumber,'** WARNING ** This option will delete ALL the current players in the',1
  2927.   Call Message DoorName,LineNumber,'game!',1
  2928.   Call Blank
  2929.   Call HotKey DoorName,LineNumber,green'Are you sure you want to continue (y/N) > '
  2930.   ans = upper(result)
  2931.   if ans = 'Y' then do
  2932.    Call CLS
  2933.    Call Message DoorName,LineNumber,cyan'Reset in progress. Please standby...',1
  2934.    call resetgame
  2935.    Call Message DoorName,LineNumber,'Reset done! Returning to the BBS...',1
  2936.    call returnc
  2937.    signal quickexit
  2938.    end
  2939. signal sysopmen
  2940. end
  2941. if ans = '2' then do
  2942.    found = 0
  2943.    Call CLS
  2944.    signal deleteplay
  2945. signal sysopmen
  2946. end
  2947. if ans = '3' then do
  2948.    found = 0
  2949.    Call CLS
  2950.    signal editplayer
  2951. signal sysopmen
  2952. end
  2953. Signal SysopMen
  2954. END
  2955.  
  2956. SETEXP:
  2957.    Call CLS
  2958.    Call Message DoorName,LineNumber,normal||MENU1,1
  2959.    Call Message DoorName,LineNumber,bluebak||white'  Experience              Level    Level Name                      'normal,1
  2960.    Call Blank
  2961. if oexperience < 10000 then
  2962.    call Message DoorName,LineNumber,normal||red'* ['green'0-9,999'red'] 'cyan'                'purple'1 'yellow||italics'     Beginner',1
  2963. else call Message DoorName,LineNumber,normal||red'  ['green'0-9,999'red'] 'cyan'                'purple'1 'yellow||italics'     Beginner',1
  2964. if oexperience >= 10000 & oexperience < 20000 then
  2965.    call Message DoorName,LineNumber,normal||red'* ['green'10,000-19,999'red'] 'cyan'          'purple'2 'yellow||italics'     Amateur Pirate',1
  2966. else call Message DoorName,LineNumber,normal||red'  ['green'10,000-19,999'red'] 'cyan'          'purple'2 'yellow||italics'     Amateur Pirate',1
  2967. if oexperience >= 20000 & oexperience < 35000 then
  2968.    call Message DoorName,LineNumber,normal||red'* ['green'20,000-34,999'red'] 'cyan'          'purple'3 'yellow||italics'     Novice Pirate',1
  2969. else call Message DoorName,LineNumber,normal||red'  ['green'20,000-34,999'red'] 'cyan'          'purple'3 'yellow||italics'     Novice Pirate',1
  2970. if oexperience >= 35000 & oexperience < 50000 then
  2971.    call Message DoorName,LineNumber,normal||red'* ['green'35,000-49,999'red'] 'cyan'          'purple'4 'yellow||italics'     Master Pirate',1
  2972. else call Message DoorName,LineNumber,normal||red'  ['green'35,000-49,999'red'] 'cyan'          'purple'4 'yellow||italics'     Master Pirate',1
  2973. if oexperience >= 50000 & oexperience < 65000 then
  2974.    call Message DoorName,LineNumber,normal||red'* ['green'50,000-64,999'red'] 'cyan'          'purple'5 'yellow||italics'     Amateur Cracker',1
  2975. else call Message DoorName,LineNumber,normal||red'  ['green'50,000-64,999'red'] 'cyan'          'purple'5 'yellow||italics'     Amateur Cracker',1
  2976. if oexperience >= 65000 & oexperience < 80000 then
  2977.    call Message DoorName,LineNumber,normal||red'* ['green'65,000-79,999'red'] 'cyan'          'purple'6 'yellow||italics'     Novice Cracker',1
  2978. else call Message DoorName,LineNumber,normal||red'  ['green'65,000-79,999'red'] 'cyan'          'purple'6 'yellow||italics'     Novice Cracker',1
  2979. if oexperience >= 80000 & oexperience < 95000 then
  2980.    call Message DoorName,LineNumber,normal||red'* ['green'80,000-94,999'red'] 'cyan'          'purple'7 'yellow||italics'     Master Cracker',1
  2981. else call Message DoorName,LineNumber,normal||red'  ['green'80,000-94,999'red'] 'cyan'          'purple'7 'yellow||italics'     Master Cracker',1
  2982. if oexperience >= 95000 & oexperience < 120000 then
  2983.    call Message DoorName,LineNumber,normal||red'* ['green'95,000-119,999'red'] 'cyan'         'purple'8 'yellow||italics'     Amateur Hacker',1
  2984. else call Message DoorName,LineNumber,normal||red'  ['green'95,000-119,999'red'] 'cyan'         'purple'8 'yellow||italics'     Amateur Hacker',1
  2985. if oexperience >= 120000 & oexperience < 150000 then
  2986.    call Message DoorName,LineNumber,normal||red'* ['green'120,000-149,999'red'] 'cyan'        'purple'9 'yellow||italics'     Novice Hacker',1
  2987. else call Message DoorName,LineNumber,normal||red'  ['green'120,000-149,999'red'] 'cyan'        'purple'9 'yellow||italics'     Novice Hacker',1
  2988. if oexperience >= 150000 & oexperience < 175000 then
  2989.    call Message DoorName,LineNumber,normal||red'* ['green'150,000-174,999'red'] 'cyan'        'purple'10 'yellow||italics'    Master Hacker',1
  2990. else call Message DoorName,LineNumber,normal||red'  ['green'150,000-174,999'red'] 'cyan'        'purple'10 'yellow||italics'    Master Hacker',1
  2991. if oexperience >= 175000 & oexperience < 225000 then
  2992.    call Message DoorName,LineNumber,normal||red'* ['green'175,000-224,999'red'] 'cyan'        'purple'11 'yellow||italics'    Owner Of A Pirate Group',1
  2993. else call Message DoorName,LineNumber,normal||red'  ['green'175,000-224,999'red'] 'cyan'        'purple'11 'yellow||italics'    Owner Of A Pirate Group',1
  2994. if oexperience >= 225000 & oexperience < 300000 then
  2995.    call Message DoorName,LineNumber,normal||red'* ['green'225,000-299,999'red'] 'cyan'        'purple'12 'yellow||italics'    Owner Of A Hacking Group',1
  2996. else call Message DoorName,LineNumber,normal||red'  ['green'225,000-299,999'red'] 'cyan'        'purple'12 'yellow||italics'    Owner Of A Hacking Group',1
  2997. if oexperience >= 300000 & oexperience < 400000 then
  2998.    call Message DoorName,LineNumber,normal||red'* ['green'300,000-399,999'red'] 'cyan'        'purple'13 'yellow||italics'    Owner Of A Cracking Group',1
  2999. else call Message DoorName,LineNumber,normal||red'  ['green'300,000-399,999'red'] 'cyan'        'purple'13 'yellow||italics'    Owner Of A Cracking Group',1
  3000. if oexperience >= 400000 & oexperience < 550000 then
  3001.    call Message DoorName,LineNumber,normal||red'* ['green'400,000-549,999'red'] 'cyan'        'purple'14 'yellow||italics'    Owner Of A Phreaking Group',1
  3002. else call Message DoorName,LineNumber,normal||red'  ['green'400,000-549,999'red'] 'cyan'        'purple'14 'yellow||italics'    Owner Of A Phreaking Group',1
  3003. if oexperience >= 550000 & oexperience < 750000 then
  3004.    call Message DoorName,LineNumber,normal||red'* ['green'550,000-749,999'red'] 'cyan'        'purple'15 'yellow||italics'    Americas most wanted',1
  3005. else call Message DoorName,LineNumber,normal||red'  ['green'550,000-749,999'red'] 'cyan'        'purple'15 'yellow||italics'    Americas most wanted',1
  3006. if oexperience >= 750000 & oexperience < 1000000 then
  3007.    call Message DoorName,LineNumber,normal||red'* ['green'750,000-999,999'red'] 'cyan'        'purple'16 'yellow||italics'    Secret Member of the HAA',1
  3008. else call Message DoorName,LineNumber,normal||red'  ['green'750,000-999,999'red'] 'cyan'        'purple'16 'yellow||italics'    Secret Member of the HAA',1
  3009. if oexperience >= 1000000 & oexperience < 1250000 then
  3010.    call Message DoorName,LineNumber,normal||red'* ['green'1,000,000-1,249,999'red'] 'cyan'    'purple'17 'yellow||italics'    Full Member of the HAA',1
  3011. else call Message DoorName,LineNumber,normal||red'  ['green'1,000,000-1,249,999'red'] 'cyan'    'purple'17 'yellow||italics'    Full Member of the HAA',1
  3012. if oexperience >= 1250000 & oexperience < 2250000 then
  3013.    call Message DoorName,LineNumber,normal||red'* ['green'1,250,000-2,249,999'red'] 'cyan'    'purple'18 'yellow||italics'    Vice-President of the HAA',1
  3014. else call Message DoorName,LineNumber,normal||red'  ['green'1,250,000-2,249,999'red'] 'cyan'    'purple'18 'yellow||italics'    Vice-President of the HAA',1
  3015. if oexperience >= 2250000 & oexperience < 3000000 then
  3016.    call Message DoorName,LineNumber,normal||red'* ['green'2,250,000-2,999,999'red'] 'cyan'    'purple'19 'yellow||italics'    President Of The HAA',1
  3017. else call Message DoorName,LineNumber,normal||red'  ['green'2,250,000-2,999,999'red'] 'cyan'    'purple'19 'yellow||italics'    President Of The HAA',1
  3018. if oexperience >= 3000000 then
  3019.    call Message DoorName,LineNumber,normal||red'* ['green'3,000,000-Infinity'red'] 'cyan'     'purple'20 'yellow||italics'    Chairman Of The Board For The HAA',1
  3020. else call Message DoorName,LineNumber,normal||red'  ['green'3,000,000-Infinity'red'] 'cyan'     'purple'20 'yellow||italics'    Chairman Of The Board For The HAA',1
  3021.    Call Blank
  3022.    Call Message DoorName,LineNumber,normal||MENU1,1
  3023. RETURN
  3024.  
  3025. TERMLIST:
  3026. Call CLS
  3027. Call Message DoorName,LineNumber,normal||MENU2,1
  3028.    Call Message DoorName,LineNumber,bluebak||white'                   Term Type                  'normal,1
  3029.    Call Blank
  3030. if Term = 1 then
  3031.    call Message DoorName,LineNumber,red'* ['green'1'red'] 'cyan'Dumb Term ',1
  3032. else call Message DoorName,LineNumber,red'  ['green'1'red'] 'cyan'Dumb Term ',1
  3033. if Term = 2 then
  3034.    call Message DoorName,LineNumber,red'* ['green'2'red'] 'cyan'SkyTerm   ',1
  3035. else call Message DoorName,LineNumber,red'  ['green'2'red'] 'cyan'SkyTerm   ',1
  3036. if Term = 3 then
  3037.    call Message DoorName,LineNumber,red'* ['green'3'red'] 'cyan'ProComm   ',1
  3038. else call Message DoorName,LineNumber,red'  ['green'3'red'] 'cyan'ProComm   ',1
  3039. if Term = 4 then
  3040.    call Message DoorName,LineNumber,red'* ['green'4'red'] 'cyan'JRComm    ',1
  3041. else call Message DoorName,LineNumber,red'  ['green'4'red'] 'cyan'JRComm    ',1
  3042. if Term = 5 then
  3043.    call Message DoorName,LineNumber,red'* ['green'5'red'] 'cyan'HackerTerm',1
  3044. else call Message DoorName,LineNumber,red'  ['green'5'red'] 'cyan'HackerTerm',1
  3045. if Term = 6 then
  3046.    call Message DoorName,LineNumber,red'* ['green'6'red'] 'cyan'CrackerComm',1
  3047. else call Message DoorName,LineNumber,red'  ['green'6'red'] 'cyan'CrackerComm',1
  3048. if Term = 7 then
  3049.    call Message DoorName,LineNumber,red'* ['green'7'red'] 'cyan'HackerTerm2.0',1
  3050. else call Message DoorName,LineNumber,red'  ['green'7'red'] 'cyan'HackerTerm2.0',1
  3051. if Term = 8 then
  3052.    call Message DoorName,LineNumber,red'* ['green'8'red'] 'cyan'CrackerComm2.0',1
  3053. else call Message DoorName,LineNumber,red'  ['green'8'red'] 'cyan'CrackerComm2.0',1
  3054. if Term = 9 then
  3055.    call Message DoorName,LineNumber,red'* ['green'9'red'] 'cyan'KillTerm',1
  3056. else call Message DoorName,LineNumber,red'  ['green'9'red'] 'cyan'KillTerm',1
  3057. if Term = 10 then
  3058.    call Message DoorName,LineNumber,red'* ['green'10'red'] 'cyan'SysOps Term',1
  3059. else call Message DoorName,LineNumber,red'  ['green'10'red'] 'cyan'SysOps Term',1
  3060. if Term = 11 then
  3061.    call Message DoorName,LineNumber,red'* ['green'11'red'] 'cyan'SysOps Term 2',1
  3062. else call Message DoorName,LineNumber,red'  ['green'11'red'] 'cyan'SysOps Term 2',1
  3063. if Term = 12 then
  3064.    call Message DoorName,LineNumber,red'* ['green'12'red'] 'cyan'SysOps Term 3',1
  3065. else call Message DoorName,LineNumber,red'  ['green'12'red'] 'cyan'SysOps Term 3',1
  3066. if Term = 13 then
  3067.    call Message DoorName,LineNumber,red'* ['green'13'red'] 'cyan'SysOps Term 4',1
  3068. else call Message DoorName,LineNumber,red'  ['green'13'red'] 'cyan'SysOps Term 4',1
  3069. if Term = 14 then
  3070.    call Message DoorName,LineNumber,red'* ['green'14'red'] 'cyan'SysOps Term 5',1
  3071. else call Message DoorName,LineNumber,red'  ['green'14'red'] 'cyan'SysOps Term 5',1
  3072. if Term = 15 then
  3073.    call Message DoorName,LineNumber,red'* ['green'15'red'] 'cyan'SysOps Term 6',1
  3074. else call Message DoorName,LineNumber,red'  ['green'15'red'] 'cyan'SysOps Term 6',1
  3075.    Call Blank
  3076. Call Message DoorName,LineNumber,normal||MENU2,1
  3077. return
  3078.  
  3079. HARDLIST:
  3080. Call CLS
  3081. Call Message DoorName,LineNumber,normal||MENU2,1
  3082.    Call Message DoorName,LineNumber,bluebak||white'                  Drive Type                  'normal,1
  3083.    Call Blank
  3084. if Drive = 1 then
  3085.    call Message DoorName,LineNumber,red'* ['green'1'red'] 'cyan'Cheapo Backup  ',1
  3086. else call Message DoorName,LineNumber,red'  ['green'1'red'] 'cyan'Cheapo Backup  ',1
  3087. if Drive = 2 then
  3088.    call Message DoorName,LineNumber,red'* ['green'2'red'] 'cyan'Poor Backup    ',1
  3089. else call Message DoorName,LineNumber,red'  ['green'2'red'] 'cyan'Poor Backup    ',1
  3090. if Drive = 3 then
  3091.    call Message DoorName,LineNumber,red'* ['green'3'red'] 'cyan'Average Backup ',1
  3092. else call Message DoorName,LineNumber,red'  ['green'3'red'] 'cyan'Average Backup ',1
  3093. if Drive = 4 then
  3094.    call Message DoorName,LineNumber,red'* ['green'4'red'] 'cyan'Good Backup    ',1
  3095. else call Message DoorName,LineNumber,red'  ['green'4'red'] 'cyan'Good Backup    ',1
  3096. if Drive = 5 then
  3097.    call Message DoorName,LineNumber,red'* ['green'5'red'] 'cyan'Outstanding    ',1
  3098. else call Message DoorName,LineNumber,red'  ['green'5'red'] 'cyan'Outstanding    ',1
  3099. if Drive = 6 then
  3100.    call Message DoorName,LineNumber,red'* ['green'6'red'] 'cyan'King of Kings  ',1
  3101. else call Message DoorName,LineNumber,red'  ['green'6'red'] 'cyan'King of Kings  ',1
  3102. if Drive = 7 then
  3103.    call Message DoorName,LineNumber,red'* ['green'7'red'] 'cyan'Lord of Lords  ',1
  3104. else call Message DoorName,LineNumber,red'  ['green'7'red'] 'cyan'Lord of Lords  ',1
  3105. if Drive = 8 then
  3106.    call Message DoorName,LineNumber,red'* ['green'8'red'] 'cyan'Prince of Peace  ',1
  3107. else call Message DoorName,LineNumber,red'  ['green'8'red'] 'cyan'Prince of Peace  ',1
  3108. if Drive = 9 then
  3109.    call Message DoorName,LineNumber,red'* ['green'9'red'] 'cyan'Ruler of the World  ',1
  3110. else call Message DoorName,LineNumber,red'  ['green'9'red'] 'cyan'Ruler of the World  ',1
  3111. if Drive = 10 then
  3112.    call Message DoorName,LineNumber,red'* ['green'10'red'] 'cyan'Ruler of the Universe  ',1
  3113. else call Message DoorName,LineNumber,red'  ['green'10'red'] 'cyan'Ruler of the Universe  ',1
  3114.    Call Blank
  3115. Call Message DoorName,LineNumber,normal||MENU2,1
  3116. return
  3117.  
  3118. /* ---------------------------------- END MENUS ----------------------------- */
  3119.  
  3120. SENDMESS:
  3121.  count = -1;i = 0
  3122.  Call CLS
  3123.  call Prompt DoorName,LineNumber,yellow'Send to Whom ('green'?'yellow' = User List): ',20
  3124.  SENDTO = upper(result)
  3125.   if SENDTO = '?' then do
  3126.     call USERLIST
  3127.     signal SENDMESS
  3128.  end
  3129.  if SENDTO = 'NULL' then signal MAIN
  3130.  FOUND = 0
  3131.  call open(file, SAVE'ALIASES', 'R')
  3132.          TTUSER = READLN(FILE)
  3133.       do i = 1 to TOTALUSERS
  3134.          OTHERALIAS = READLN(FILE)
  3135.          OTHERREALNAME = readln(file)
  3136.          if OTHERALIAS = SENDTO then do
  3137.             FOUND = 1
  3138.             HISREALNAME = OTHERREALNAME
  3139.          end
  3140.       end
  3141.  call close(file)
  3142.  if FOUND = 0 then do
  3143.     Call Message DoorName,LineNumber,cyan'User was 'red'not'cyan' found, check the Hacker listing!',1
  3144.     call returnc
  3145.  end
  3146.  if FOUND = 1 then do
  3147.     Call CLS
  3148.     Call EditFile DoorName,LineNumber,'T:'HISREALNAME,60
  3149.     If exists('T:'HISREALNAME) then Call SendMess2
  3150.  end
  3151. Signal Main
  3152.  
  3153. SENDMESS2:
  3154. if exists(MESS''HISREALNAME) then do
  3155.    call open(file, MESS''HISREALNAME, 'R')
  3156.         newflag = readln(file)
  3157.    call close(file)
  3158.     call open(file, 'T:'HISREALNAME, 'R')
  3159.           junk = readln(file)
  3160.          do i = 1 until eof(file)
  3161.           Str.i = readln(file)
  3162.           count = count + 1
  3163.          end
  3164.     call close(file)
  3165. end
  3166.    if newflag = 0 then do
  3167.     call open(file, MESS''HISREALNAME, 'W')
  3168.          call writeln(file, newflag+1)
  3169.          call writeln(file, ALIAS)
  3170.          call writeln(file, count)
  3171.          do i = 1 to count
  3172.             call writeln(file, Str.i)
  3173.          end
  3174.     call close(file)
  3175.    flnm='T:'HISREALNAME;call deletefile
  3176.    end
  3177.    if newflag > 0 then do
  3178.     call open(file, MESS''HISREALNAME, 'A')
  3179.          call writeln(file, ALIAS)
  3180.          call writeln(file, Count)
  3181.          do i = 1 to count
  3182.             call writeln(file, str.i)
  3183.          end
  3184.     call close(file)
  3185.     call open(file, MESS''HISREALNAME, 'R')
  3186.          newflag = readln(file)
  3187.          newflag = newflag + 1
  3188.          count = -1
  3189.          do i = 1 until eof(file)
  3190.            count = count + 1
  3191.            Str.i = readln(file)
  3192.          end
  3193.     call close(file)
  3194.     call open(file, MESS''HISREALNAME, 'W')
  3195.          call writeln(file, newflag)
  3196.          do i = 1 to count
  3197.             call writeln(file, Str.i)
  3198.          end
  3199.     call close(file)
  3200.    flnm='T:'HISREALNAME;call deletefile
  3201.    end
  3202.     Call Blank
  3203.     Call Blank
  3204.     Call Message DoorName,LineNumber,'Transmission sent!',1
  3205.     call returnc
  3206.     return
  3207.  
  3208. NEWUSER:
  3209.    Call CLS
  3210.    MAINCOUNTER = 0
  3211.    Call Message DoorName,LineNumber,'Welcome to Hacker, 'ALIAS,1
  3212.    Call HotKey DoorName,LineNumber,'Do you wish to use a different alias (y/N)?'
  3213.     ans = upper(result)
  3214.    if ans = 'Y' then do
  3215.    Call Blank
  3216.    Call Message DoorName,LineNumber,'ENTER an ALIAS to use:',1
  3217.    Call Prompt DoorName,LineNumber,'> ',20
  3218.    ALIAS = UPPER(result)
  3219.    call returnc
  3220.    end
  3221. if exists(SAVE'ALIASES') then do
  3222.      call open(file, SAVE'ALIASES', 'R')
  3223.          totalusers = readln(file)
  3224.       do i = 1 to TOTALUSERS
  3225.          checkalias.i = readln(file)
  3226.          checkrealname.i = readln(file)
  3227.            if upper(checkalias.i) = alias then do
  3228.               Call Message DoorName,LineNumber,'Alias already exists, pick another.',1
  3229.               signal newuser
  3230.            end
  3231.       end
  3232.      call close(file)
  3233.      call open(file, SAVE'ALIASES', 'W')
  3234.          TOTALUSERS = TOTALUSERS + 1
  3235.          call writeln(file, TOTALUSERS)
  3236.         do i = 1 to TOTALUSERS-1
  3237.          call writeln(file, checkalias.i)
  3238.          call writeln(file, checkrealname.i)
  3239.         end
  3240.          call writeln(file, ALIAS)
  3241.          call writeln(file, NAME)
  3242.      call close(file)
  3243. end
  3244. if ~exists(SAVE'ALIASES') then do
  3245.     call open(file, SAVE'ALIASES', 'W')
  3246.          TOTALUSERS = TOTALUSERS + 1
  3247.          call writeln(file, TOTALUSERS)
  3248.          call writeln(file, ALIAS)
  3249.          call writeln(file, NAME)
  3250.     call close(file)
  3251. end
  3252. if ~exists(MESS''NAME) then do
  3253.     call open(file, MESS''NAME, 'W')
  3254.          call writeln(file, '0')
  3255.     call close(file)
  3256. end
  3257.     protect = protect + 1
  3258.     call writeuser
  3259.  Call CLS
  3260.  Call Blank
  3261.  Call Message DoorName,LineNumber,'You will get 'MAXPROTECT' days('MAXTURNS' turns/day) of protection. Make sure to use',1
  3262.  Call Message DoorName,LineNumber,'up ALL your turns for the first 'MAXPROTECT' times you play to build yourself',1
  3263.  Call Message DoorName,LineNumber,'up or you may become JELLY!!',1
  3264.   call returnc
  3265. return
  3266.  
  3267. USERLIST:
  3268.  Call CLS
  3269.  if NAME = SYSOPNAME then Call Message DoorName,LineNumber,red'      SysOp User Listing',1
  3270.  if NAME = SYSOPNAME then Call Message DoorName,LineNumber,'   Alias             Real Name'normal,1
  3271.  if NAME ~= SYSOPNAME then Call Message DoorName,LineNumber,'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ',1
  3272.  if NAME = SYSOPNAME then Call Message DoorName,LineNumber,'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ',1
  3273.  count = 4
  3274.  call open(file, SAVE'ALIASES', 'R')
  3275.     totalusers = readln(file)
  3276.  do i = 1 to TOTALUSERS
  3277.     otheralias = readln(file)
  3278.     otherrealname = readln(file)
  3279.     otheralias = left(otheralias,15)
  3280.     otherrealname = left(otherrealname,20)
  3281.      if name = SYSOPNAME then do
  3282.     Call Message DoorName,LineNumber,otheralias'     'purple||bold||otherrealname||normal,1
  3283.     end
  3284.     if name ~= SYSOPNAME then do
  3285.     Call Message DoorName,LineNumber,otheralias,1
  3286.     end
  3287.     count = count+1
  3288.     if count = screenlength then do
  3289.     Call Blank
  3290.     Call HotKey DoorName,LineNumber,'PAUSED....'
  3291.     Call Blank
  3292.     Call Blank
  3293.     end
  3294. end
  3295.  call close(file)
  3296.  if NAME ~= SYSOPNAME then Call Message DoorName,LineNumber,'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ',1
  3297.  if NAME = SYSOPNAME then Call Message DoorName,LineNumber,'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ',1
  3298.  call returnc
  3299.  RETURN
  3300.  
  3301. YOURSTATS:
  3302.      TNA = left(NAME,20)
  3303.      TAL = left(ALIAS,20)
  3304.      TEX = left(EXPERIENCE,7)
  3305.      TMO = left(MONEY,8)
  3306.      TDT = left(DRIVETYPE,2)
  3307.      TTT = left(TERMTYPE,2)
  3308.      TST = left(MEGS,3)
  3309.      TML = left(MEGSLOST,3)
  3310.      TMC = left(TOTALMEGSCRASHED,3)
  3311.      TSC = left(SCA,2)
  3312.      TBW = left(BW,2)
  3313.      TTR = left(TROJ,2)
  3314.      UTR = left(TROJUSED,2)
  3315.      UBW = left(BWUSED,2)
  3316.      USC = left(SCAUSED,2)
  3317.      TLN = left(LEVNAME,35)
  3318.      TLV = left(LEVEL,2)
  3319.      TBA = left(BMONEY,8)
  3320.      TPR = left(PROTECT,2)
  3321.      ATM = left(ATMPASS,2)
  3322.      mmegs = level * 20
  3323.      maxmegs  = left(mmegs,3)
  3324.      Call CLS
  3325.      Call Message DoorName,LineNumber,normal||MENU1,1
  3326.      Call Message DoorName,LineNumber,cyan'  Stats for 'red||TNA||cyan'   Alias: 'red||TAL||cyan'     'normal,1
  3327.      Call Message DoorName,LineNumber,MENU1,1
  3328.      Call Message DoorName,LineNumber,cyan'    Money: 'red'$'TMO'   'cyan'Experience: 'red||TEX||cyan'  Money in Bank: 'red||TBA,1
  3329.      Call Message DoorName,LineNumber,cyan'    Level: 'red||tlv||cyan'          Level Name: 'red||TLN,1
  3330.      Call Message DoorName,LineNumber,cyan'Drivetype: 'red||TDT||cyan'            Terminal: 'red||TTT||cyan'          Protection: 'red||TPR,1
  3331.      Call Message DoorName,LineNumber,cyan'  Storage: 'red||TST'/'maxmegs||cyan'      Megs lost: 'red||TML||cyan'       Megs Crashed: 'red||TMC,1
  3332.      Call Message DoorName,LineNumber,cyan'     SCAs: 'red||TSC||cyan'       Byte Warriors: 'red||TBW||cyan'             Trojans: 'red||TTR,1
  3333.      Call Message DoorName,LineNumber,cyan'SCAs used: 'red||USC||cyan'            BWs Used: 'red||UBW||cyan'        Trojans Used: 'red||UTR        ,1
  3334.      Call Message DoorName,LineNumber,green'                    'cyan' ATM Password: 'red||ATM'     'normal,1
  3335.      call Message DoorName,LineNumber,normal,1
  3336.      LFI = left(LASTFIGHT,20)
  3337.      DAT = left(NEWDATE,20)
  3338.      TPL = left(TOTALPLAYS,20)
  3339.      TWI = left(TOTALWINS,20)
  3340.      TLO = left(TOTALLOSS,20)
  3341.      Call Message DoorName,LineNumber,green'                     WIN/LOSS/PLAY Statistics:'normal,1
  3342.      Call Message DoorName,LineNumber,'          'MENU2,1
  3343.      Call Message DoorName,LineNumber,cyan'                  Last Fight: 'red||LFI'     ',1
  3344.      Call Message DoorName,LineNumber,cyan'                   Last Play: 'red||DAT'     ',1
  3345.      Call Message DoorName,LineNumber,cyan'                 Total Plays: 'red||TPL'     ',1
  3346.      Call Message DoorName,LineNumber,cyan'                  Total Wins: 'red||TWI'     ',1
  3347.      Call Message DoorName,LineNumber,cyan'                Total Losses: 'red||TLO'     'normal,1
  3348.      Call Message DoorName,LineNumber,'          'MENU2,1
  3349.       call returnc
  3350. RETURN
  3351.  
  3352. RANDOMCOLOR:
  3353.    color = random(1,7,time('s'))
  3354.    if color = 1 then Call Message DoorName,LineNumber,green,0
  3355.    if color = 2 then Call Message DoorName,LineNumber,yellow,0
  3356.    if color = 3 then Call Message DoorName,LineNumber,blue,0
  3357.    if color = 4 then Call Message DoorName,LineNumber,purple,0
  3358.    if color = 5 then Call Message DoorName,LineNumber,cyan,0
  3359.    if color = 6 then Call Message DoorName,LineNumber,white,0
  3360.    if color = 7 then Call Message DoorName,LineNumber,red,0
  3361. RETURN
  3362.  
  3363. SPY:
  3364.  FOUNDTOSPY = 0
  3365.  Call CLS
  3366.  Call Prompt DoorName,LineNumber,green'Spy on Whom ('red'?'green' = User List): ',20
  3367.  TOSPY = upper(result)
  3368.  if TOSPY = 'NULL' | TOSPY = 'Q' then do
  3369.  signal MAIN
  3370.  end
  3371.  if TOSPY = '?' then do
  3372.  call userlist
  3373.  signal SPY
  3374.  end
  3375.  if TOSPY = ALIAS then do
  3376.     Call Message DoorName,LineNumber,'That is you!  Why spy on yourself? Type ''STATS'' for a listing!',1
  3377.     call returnc
  3378.     signal MAIN
  3379.  end
  3380.  call open(file, SAVE'ALIASES', 'R')
  3381.          TTUSER = readln(file)
  3382.       do i = 1 to TOTALUSERS
  3383.          OALIAS = readln(file)
  3384.          ORN = readln(file)
  3385.          if OALIAS = TOSPY then do
  3386.             OALIAS = tospy
  3387.             OREALNAME = ORN
  3388.             FOUNDTOSPY = 1
  3389.          end
  3390.       end
  3391.  call close(file)
  3392.  if FOUNDTOSPY = 0 then do
  3393.     Call Message DoorName,LineNumber,'User not listed, check the userlog!',1
  3394.      call returnc
  3395.     signal MAIN
  3396.  end
  3397.  call open(file, SAVE''OREALNAME, 'R')
  3398.       OALIAS = readln(file)
  3399.       OMONEY = readln(file)
  3400.       OMEGS = readln(file)
  3401.       OSCA = readln(file)
  3402.       OBW = readln(file)
  3403.       OTROJ = readln(file)
  3404.       ODRIVETYPE = readln(file)
  3405.       OTERMTYPE = readln(file)
  3406.       OEXPERIENCE = readln(file)
  3407.       OLASTFIGHT = readln(file)
  3408.       ONEWDATE = readln(file)
  3409.       OTOTALPLAYS = readln(file)
  3410.       OTOTALMEGSCRASHED = readln(file)
  3411.       OTOTALWINS = readln(file)
  3412.       OTOTALLOSS = readln(file)
  3413.       OMEGSLOST = readln(file)
  3414.       OBWUSED = readln(file)
  3415.       OTROJUSED = readln(file)
  3416.       OSCAUSED = readln(file)
  3417.       OMAINCOUNTER = readln(file)
  3418.       OPROTECT = readln(file)
  3419.       OBMONEY = readln(file)
  3420.       OATMPASS = readln(file)
  3421.       OEXPERT  = readln(file)
  3422. call close(file)
  3423.  Call Message DoorName,LineNumber,'User was found!',1
  3424.  call OCONVERSION2
  3425.  SYSSPY = 0
  3426.  if name = 'DAVID_FISHER' | NAME = SYSOPNAME then SYSSPY = 1
  3427.  if sysspy = 1 then Call Message DoorName,LineNumber,'Sysops spy for free....',1
  3428.  if sysspy = 0 then do
  3429.     Call Message DoorName,LineNumber,'It will cost you $'OLEVEL*100' to spy on that person!',1
  3430.     costtospy = OLEVEL *100
  3431.     if money < costtospy then do
  3432.        Call Message DoorName,LineNumber,'You do not have enough money!',1
  3433.         call returnc
  3434.       signal MAIN
  3435.     end
  3436.  end
  3437.     Call HotKey DoorName,LineNumber,'Spy (Y/n)? '
  3438.     SPYANS = upper(result)
  3439.     if spyans = 'NULL' then do
  3440.     signal MAIN
  3441.     end
  3442.     if spyans = 'N' then do
  3443.     signal MAIN
  3444.     end
  3445.  if sysspy = 0 then money = money - costtospy
  3446.  Call CLS
  3447.      OTNA = '*Hidden*'
  3448.      OTAL = left(OALIAS,20)
  3449.      OTEX = left(OEXPERIENCE,7)
  3450.      OTMO = left(OMONEY,8)
  3451.      OTDT = left(ODRIVETYPE,2)
  3452.      OTTT = left(OTERMTYPE,2)
  3453.      OTST = left(OMEGS,3)
  3454.      OTML = left(OMEGSLOST,2)
  3455.      OTMC = left(OTOTALMEGSCRASHED,3)
  3456.      OTSC = left(OSCA,2)
  3457.      OTBW = left(OBW,2)
  3458.      OTTR = left(OTROJ,2)
  3459.      OUTR = left(OTROJUSED,2)
  3460.      OUBW = left(OBWUSED,2)
  3461.      OUSC = left(OSCAUSED,2)
  3462.      OTLN = left(OLEVNAME,35)
  3463.      OTLV = left(OLEVEL,2)
  3464.      OTBA = left(OBMONEY,8)
  3465.      OTPR = left(OPROTECT,2)
  3466.      OATM = left(OATMPASS,2)
  3467.      ommegs = olevel * 20
  3468.      omaxmegs  = left(ommegs,3)
  3469.  if sysspy = 1 then OTNA = left(OREALNAME,20)
  3470.      Call CLS
  3471.      Call Message DoorName,LineNumber,normal||MENU1,1
  3472.      Call Message DoorName,LineNumber,cyan'  Stats for 'red||OTNA||cyan'   Alias: 'red||OTAL||cyan'     'normal,1
  3473.      Call Message DoorName,LineNumber,MENU1,1
  3474.      Call Message DoorName,LineNumber,cyan'    Money: 'red'$'OTMO'   'cyan'Experience: 'red||OTEX||cyan' Money in Bank: 'red||OTBA,1
  3475.      Call Message DoorName,LineNumber,cyan'    Level: 'red||OTLV||cyan'          Level Name: 'red||OTLN,1
  3476.      Call Message DoorName,LineNumber,cyan'Drivetype: 'red||OTDT||cyan'            Terminal: 'red||OTTT||cyan'         Protection: 'red||OTPR,1
  3477.      Call Message DoorName,LineNumber,cyan'  Storage: 'red||OTST'/'omaxmegs||cyan'      Megs lost: 'red||OTML||cyan'       Megs Crashed: 'red||OTMC,1
  3478.      Call Message DoorName,LineNumber,cyan'     SCAs: 'red||OTSC||cyan'       Byte Warriors: 'red||OTBW||cyan'            Trojans: 'red||OTTR,1
  3479.      Call Message DoorName,LineNumber,cyan'SCAs used: 'red||OUSC||cyan'            BWs Used: 'red||OUBW||cyan'       Trojans Used: 'red||OUTR,1
  3480.      if NAME = SYSOPNAME then Call Message DoorName,LineNumber,green'                    'cyan' ATM Password: 'red||OATM'     'normal,1
  3481.      call Message DoorName,LineNumber,normal,1
  3482.      OLFI = left(OLASTFIGHT,20)
  3483.      ODAT = left(ONEWDATE,20)
  3484.      OTPL = left(OTOTALPLAYS,20)
  3485.      OTWI = left(OTOTALWINS,20)
  3486.      OTLO = left(OTOTALLOSS,20)
  3487.      Call Message DoorName,LineNumber,green'                     WIN/LOSS/PLAY Statistics:'normal,1
  3488.      Call Message DoorName,LineNumber,'          'MENU2,1
  3489.      Call Message DoorName,LineNumber,cyan'                  Last Fight: 'red||OLFI'     ',1
  3490.      Call Message DoorName,LineNumber,cyan'                   Last Play: 'red||ODAT'     ',1
  3491.      Call Message DoorName,LineNumber,cyan'                 Total Plays: 'red||OTPL'     ',1
  3492.      Call Message DoorName,LineNumber,cyan'                  Total Wins: 'red||OTWI'     ',1
  3493.      Call Message DoorName,LineNumber,cyan'                Total Losses: 'red||OTLO'     'normal,1
  3494.      Call Message DoorName,LineNumber,'          'MENU2,1
  3495.      call returnc
  3496. signal MAIN
  3497.  
  3498. TOP:
  3499.   Call CLS
  3500.   Call Message DoorName,LineNumber,'Please hold, sorting top players!',1
  3501.   call open(file, SAVE'ALIASES', 'R')
  3502.           TOTALUSERS = readln(file)
  3503.        do i = 1 to TOTALUSERS
  3504.           ALIASname.i = readln(file)
  3505.           REALname.i = readln(file)
  3506.        end
  3507.   call close(file)
  3508.   do i = 1 to totalusers
  3509.   call otherplay
  3510.   END
  3511.   n = totalusers-1
  3512.   o = totalusers-1
  3513.   do i = 1 to n
  3514.      do j = 1 to o
  3515.         q = j + 1
  3516.         if OEXPERIENCE.q > OEXPERIENCE.j then do
  3517.            temp = OEXPERIENCE.j
  3518.            tempname = OALIAS.j
  3519.            OEXPERIENCE.j = OEXPERIENCE.q
  3520.            OALIAS.j = OALIAS.q
  3521.            OEXPERIENCE.q = temp
  3522.            OALIAS.q = tempname
  3523.         end
  3524.      end
  3525.   end
  3526.  Call CLS 
  3527.  Call Message DoorName,LineNumber,'Hacker Top 15'normal,1
  3528.    call Message DoorName,LineNumber,MENU3,1
  3529.  Call Message DoorName,LineNumber,green'Alias                    'cyan'Experience     'red'Level',1
  3530.    call Message DoorName,LineNumber,blue||MENU3,1
  3531.  toloop = 15
  3532.  if totalusers < toloop then toloop = totalusers
  3533.  DO I = 1 to toloop
  3534.     call OCONVERSION
  3535.     OALIAS = left(OALIAS.i,25)
  3536.     OEXP = left(OEXPERIENCE.i,15)
  3537.     OLEVNAME = left(OLEVNAME,35)
  3538.     Call Message DoorName,LineNumber,green||OALIAS''cyan||OEXP''red||OLEVNAME,1
  3539.  end
  3540.    call Message DoorName,LineNumber,normal||MENU3,1
  3541. call returnc
  3542. SIGNAL MAIN
  3543.  
  3544. LOOP:
  3545. if i < 50 then do
  3546. i = i + 1
  3547. call loop
  3548. end
  3549. return
  3550.  
  3551. TOPBULL:
  3552.   call open(file, SAVE'ALIASES', 'R')
  3553.           TTUSER = readln(file)
  3554.        do i = 1 to TOTALUSERS
  3555.           ALIASname.i = readln(file)
  3556.           REALname.i = readln(file)
  3557.        end
  3558.   call close(file)
  3559.   do i = 1 to totalusers
  3560.   call otherplay
  3561.   END
  3562.   n = totalusers-1
  3563.   o = totalusers-1
  3564.   do i = 1 to n
  3565.      do j = 1 to o
  3566.         q = j + 1
  3567.         if OEXPERIENCE.q > OEXPERIENCE.j then do
  3568.            temp = OEXPERIENCE.j
  3569.            tempname = OALIAS.j
  3570.            OEXPERIENCE.j = OEXPERIENCE.q
  3571.            OALIAS.j = OALIAS.q
  3572.            OEXPERIENCE.q = temp
  3573.            OALIAS.q = tempname
  3574.         end
  3575.      end
  3576.   end
  3577. call open(file, bullpath1 ,'W')
  3578. call writeln(file, 'Hacker Top 15')
  3579.   call writeln(file, MENU3)
  3580. call writeln(file, ' Alias                    Experience     Level')
  3581.   call writeln(file, MENU3)
  3582.  toloop = 15
  3583.  if totalusers < toloop then toloop = totalusers
  3584.  DO I = 1 to toloop
  3585.     call OCONVERSION
  3586.     OALIAS = left(OALIAS.i,25)
  3587.     OEXP = left(OEXPERIENCE.i,15)
  3588.     OLEVNAME = left(OLEVNAME,35)
  3589.     call writeln(file, ' 'OALIAS''OEXP''OLEVNAME'   ')
  3590.  end
  3591.    call writeln(file, MENU3)
  3592.  if topwin = 1 then do
  3593.  call writeln(file, 'The current PRESIDENT of the HAA is 'alias'!')
  3594.  call writeln(file, 'Would you like to RESET the game?')
  3595.  end
  3596. call close(file)
  3597. call open(file, bullpath2 ,'W')
  3598.  call writeln(file, 'Hacker Top 15')
  3599.    call writeln(file, MENU3)
  3600.  call writeln(file, ' Alias                    Experience     Level')
  3601.    call writeln(file, ''MENU3)
  3602.  toloop = 15
  3603.  if totalusers < toloop then toloop = totalusers
  3604.  DO I = 1 to toloop
  3605.     call OCONVERSION
  3606.     OALIAS = left(OALIAS.i,25)
  3607.     OEXP = left(OEXPERIENCE.i,15)
  3608.     OLEVNAME = left(OLEVNAME,35)
  3609.     call writeln(file, ' 'OALIAS''OEXP''OLEVNAME'   ')
  3610.  end
  3611.    call writeln(file, ''MENU3)
  3612.  if topwin = 1 then do
  3613.  call writeln(file, 'The current PRESIDENT of the HAA is 'alias'!')
  3614.  call writeln(file, 'Would you like to RESET the game?')
  3615.  end
  3616. call close(file)
  3617. return
  3618.  
  3619. WINNER:
  3620. Call Blank
  3621. call Message DoorName,LineNumber,italics' You have earned the title of President of the HAA and have won',1
  3622. Call Message DoorName,LineNumber,'the game. Please notify the SYSOP that you are the BEST and to RESET',1
  3623. Call Message DoorName,LineNumber,'the game!!',1
  3624. call returnc
  3625. call open(file, SAVE'RESET' ,'W')
  3626. call writeln(file, 'The current PRESIDENT of the HAA is 'ALIAS'!')
  3627. call writeln(file, 'Notify SYSOP to RESET game!')
  3628. call close(file)
  3629. topwin = 1
  3630. signal BEXIT
  3631.    
  3632. HACKINTRO:
  3633. CALL OCONVERSION2
  3634.  OTERMNAME = left(OTERMNAME,20)
  3635.  ODRIVENAME = left(ODRIVENAME,20)
  3636.  STERMNAME = left(TERMNAME,20)
  3637.  SDRIVENAME = left(DRIVENAME,20)
  3638.  OA = left(OALIAS,20)
  3639.  YA = left(ALIAS,20)
  3640.  OM = right(OMEGS,3)
  3641.  YM = right(MEGS,3)
  3642.  Call CLS
  3643.     Call Message DoorName,LineNumber,normal||MENU1,1
  3644.     Call Blank
  3645.     Call Message DoorName,LineNumber,bluebak||red'                          'OA'                     'normal,1
  3646.     Call Message DoorName,LineNumber,cyan'     Hardware:'red' 'ODRIVENAME'  'green'Software:'red' 'OTERMNAME'',1
  3647.     Call Message DoorName,LineNumber,yellow'                        'OM' Megs                                  ',1
  3648.     Call Blank
  3649.     Call Message DoorName,LineNumber,purple'                         --VS.--                                   ',1
  3650.     Call Blank
  3651.     Call Message DoorName,LineNumber,bluebak||white'                          'YA'                     'normal,1
  3652.     Call Message DoorName,LineNumber,cyan'     Hardware:'red' 'SDRIVENAME'  'green'Software:'red' 'STERMNAME'',1
  3653.     Call Message DoorName,LineNumber,yellow'                        'YM' Megs                                  ',1
  3654.     Call Message DoorName,LineNumber,normal,1
  3655.     Call Message DoorName,LineNumber,MENU1,1
  3656.  Call Blank
  3657.  Call HotKey DoorName,LineNumber,green'Sure you want to fight (Y/n)? '
  3658.  ANS = upper(result)
  3659.  if ans = 'N' | ans = 'Q' | ans = 'NULL' then do 
  3660. signal main
  3661.  end
  3662.  Call CLS
  3663.  oldmegs = megs
  3664.  othermegs = omegs
  3665.  signal HACKHIM
  3666.  signal main
  3667.  
  3668. ATM:
  3669. call nocarrier
  3670. call EVENER
  3671. Call CLS
  3672. Call Message DoorName,LineNumber,cyan'You are connected to 'green'The ATM Network!',1
  3673. call Message DoorName,LineNumber,yellow,1
  3674. Call Message DoorName,LineNumber,'Illegal users of this network are subject to 'red'PUNISHMENT!',1
  3675. Call Blank
  3676. Call Message DoorName,LineNumber,cyan'Hello 'red||alias,1
  3677. Call Blank
  3678. if ATMPASS = 'NONE' then do
  3679. Call Message DoorName,LineNumber,green'Welcome NEW ATM user! Please enter a 'red'2 CHARACTER 'green'password',1
  3680. Call Message DoorName,LineNumber,'to use. The password can be any LETTER or # on the KEYBOARD.',1
  3681. Call Blank
  3682. Call Prompt DoorName,LineNumber,cyan'(Q to QUIT) > ',2
  3683. tpass = upper(result)
  3684. if tpass = 'Q' then do
  3685. signal main
  3686. end
  3687. charo = left(tpass,1)
  3688. chart = right(tpass,1)
  3689. converto = c2d(charo)
  3690. convertt = c2d(chart)
  3691. if converto > 90 | converto < 48 | convertt > 90 | convertt < 48 then do
  3692. Call Blank
  3693. Call Message DoorName,LineNumber,You MUST enter an ALPHANUMERIC PASSWORD!!,1
  3694. call returnc
  3695. signal ATM
  3696. end
  3697. Call Blank
  3698. Call Message DoorName,LineNumber,yellow'You have chosen 'red||tpass||yellow' as your password.',1
  3699. Call Blank
  3700. Call HotKey DoorName,LineNumber,green'Is this entry correct? (y/N) > '
  3701. ans = upper(result)
  3702.  if ans = 'Y' then do
  3703.  ATMPASS = tpass
  3704.  Call Blank
  3705.  Call Blank
  3706.  Call Message DoorName,LineNumber,cyan'Please remember your password and keep it protected.',1
  3707.  call returnc
  3708.  end
  3709. signal atm
  3710. end
  3711. flag = 0
  3712. call password
  3713. signal ATMMENU
  3714.  
  3715. PASSWORD:
  3716. if flag >= 3 then do
  3717. call Message DoorName,LineNumber,red,1
  3718. Call Message DoorName,LineNumber,'Retry count exceeded!! 'cyan'Contact your local bank to get your password!',1
  3719. call returnc
  3720. maincounter = maincounter + 1
  3721. signal main
  3722. end
  3723. Call Prompt DoorName,LineNumber,yellow'Please enter your 2 character 'red'PASSWORD'yellow' > ',2
  3724. ans = upper(result)
  3725. if ans ~= ATMPASS then do
  3726. Call Blank
  3727. Call Message DoorName,LineNumber,red'INVALID 'cyan'password! Try again.',1
  3728. Call Blank
  3729. flag = flag + 1
  3730. signal password
  3731. end
  3732. return
  3733.  
  3734. WITH:
  3735. Call Blank
  3736. Call Blank
  3737. Call Prompt DoorName,LineNumber,green'Withdraw How Much Money? > ',10
  3738. wit = upper(result)
  3739. if wit > bmoney | wit <= 0 then do
  3740.    Call CLS
  3741.    Call Blank
  3742.    Call Message DoorName,LineNumber,RED center('You don''t have that much money in the bank!',78),1
  3743.    Call Blank
  3744.    call returnc
  3745.    signal ATMMENU
  3746.   end
  3747. if wit <= bmoney then do
  3748.    bmoney = bmoney - wit
  3749.    money = money + wit
  3750.    Call Message DoorName,LineNumber,RED'Money withdrawn.  Thank you.',1
  3751.    call returnc
  3752.    signal ATMMENU
  3753.   end
  3754. signal ATMMENU
  3755.  
  3756. DEPO:
  3757. Call Blank
  3758. Call Blank
  3759. Call Prompt DoorName,LineNumber,green'Deposit How Much Money? > ',10
  3760. dep = upper(result)
  3761. if dep > money | dep <= 0 then do
  3762.    Call CLS
  3763.    Call Blank
  3764.    Call Message DoorName,LineNumber,RED center('YOU DO NOT HAVE THAT MUCH MONEY!',78),1
  3765.    call returnc
  3766.    signal ATMMENU
  3767.   end
  3768. if dep <= money then do
  3769.    Call Message DoorName,LineNumber,RED'Depositing...',1
  3770.    money = money - dep
  3771.    bmoney = bmoney + dep
  3772.    Call Message DoorName,LineNumber,RED'Deposited.',1
  3773.    call returnc
  3774.    signal ATMMENU
  3775.   end
  3776. signal ATMMENU
  3777.  
  3778. EVENER:
  3779. zod3 = compress(money,'0123456789')
  3780. zod4 = compress(bmoney,'0123456789')
  3781. if zod3 = '.' then do
  3782.  parse var money moy1 '.' moy2
  3783.  money = moy1
  3784.  money = money + 1
  3785. end
  3786. if zod4 = '.' then do
  3787.  parse var bmoney bmy1 '.' bmy2
  3788.  bmoney = bmy1
  3789.  bmoney = bmoney + 1
  3790. end
  3791. return
  3792.  
  3793. OUTTURN:
  3794. if maincounter >= MAXTURNS then do
  3795.   Call CLS
  3796.   call Message DoorName,LineNumber,yellow,1
  3797.   Call Message DoorName,LineNumber,'You are out of turns for TODAY.',1
  3798.   call Message DoorName,LineNumber,green,1
  3799.   Call HotKey DoorName,LineNumber,'Would you like to view your STATS before EXITING? (y/N) > '
  3800.   ans = UPPER(result)
  3801.   if ans = 'Y' then call YOURSTATS
  3802.   signal BEXIT
  3803.   end
  3804. return
  3805.  
  3806. RETURNC:
  3807.     call blank
  3808.     call HotKey DoorName,LineNumber,italics||purple"Smash any key to continue...."normal
  3809.     call blank
  3810. RETURN
  3811.  
  3812. HACKPASS:
  3813. Call CLS
  3814. Call Message DoorName,LineNumber,cyan'All players have a 2 character password. Any key on the keyboard can be the',1
  3815. Call Message DoorName,LineNumber,'other players password. It costs $1000 to attempt to access anothers password.',1
  3816. Call Message DoorName,LineNumber,'You will get 10 attempts. If you win, you get ALL of the other players BANK!',1
  3817. Call Message DoorName,LineNumber,'The only thing to lose for trying is the $1000 for the attempt.',1
  3818. Call Blank ''
  3819. Call HotKey DoorName,LineNumber,green'Wanna go for it (y/N) > '
  3820. ans = upper(result)
  3821. if money <= 999 then do
  3822. Call Blank
  3823. Call Message DoorName,LineNumber,'Sorry, You do not have enough money to attempt this!',1
  3824. call returnc
  3825. signal atmmenu
  3826. end
  3827. if ans = 'Y' then call hackpassS
  3828. signal ATMMENU
  3829.  
  3830. HACKPASSS:
  3831. Call CLS
  3832. call Prompt DoorName,LineNumber,green'Enter the USER you want to try to TRASH (? to LIST > ',20
  3833.  hackname = upper(result)
  3834.   if hackname = '?' then do
  3835.   call USERLIST
  3836.   signal hackpassS
  3837.   end
  3838. if hackname = 'NULL' then do
  3839.  signal atmmenu
  3840.  end
  3841.  FOUND = 0
  3842.  call open(file, SAVE'ALIASES', 'R')
  3843.          TTUSER = READLN(FILE)
  3844.       do i = 1 to TOTALUSERS
  3845.          OTHERALIAS = READLN(FILE)
  3846.          OTHERREALNAME = readln(file)
  3847.           if OTHERALIAS = hackname then do
  3848.           FOUND = 1
  3849.           ONAME = otherrealname
  3850.           end
  3851.       end
  3852.  call close(file)
  3853.  if FOUND = 0 then do
  3854.     Call CLS
  3855.     Call Message DoorName,LineNumber,cyan'User was 'red'not'cyan' found, check the Hacker listing!',1
  3856.     call returnc
  3857.    signal atmmenu
  3858.  end
  3859.  if FOUND = 1 then do
  3860. maincounter = maincounter + 1
  3861. money = money - 1000
  3862. call OREAD
  3863. if money > 49999 then do
  3864. Call CLS
  3865. Call Message DoorName,LineNumber,cyan'I will SQUEAL the FIRST character of the other users password if you',1
  3866. Call Message DoorName,LineNumber,'give me $50000!',1
  3867. Call Blank
  3868. call HotKey DoorName,LineNumber,green'Take me up on my offer (Y/n) > '
  3869.  ans = upper(result)
  3870. if ans = 'Y' then do
  3871.   money = money - 50000
  3872.   fchar = left(OATMPASS,1)
  3873.  Call Blank
  3874.  Call Message DoorName,LineNumber,'The first character of his/her password is 'fchar,1
  3875.   call returnc
  3876.   end
  3877. end
  3878. hflag = 1
  3879. do i = 1 to 10
  3880. Call CLS
  3881. Call Prompt DoorName,LineNumber,green'(Attempt # 'i') Guess a 2 character password > ',2
  3882. guess = upper(result)
  3883.  if guess = OATMPASS then do
  3884.  Call CLS
  3885.  Call Message DoorName,LineNumber,cyan'You GUESSED RIGHT!!! Congrats! You just took $'OBMONEY' of his money.',1
  3886. call returnc
  3887. MONEY = MONEY + OBMONEY
  3888.  OBMONEY = 0
  3889.  call owrite
  3890.  call writeuser
  3891. HISREALNAME = ONAME
  3892. line.1 = 'I guessed your ATM password and got ALL your BANKMONEY!!'
  3893. line.2 = 'I would recommend you CHANGE your PASSWORD NOW!'
  3894. line.3 = 'Bank accounts ARE NOT insured. Too BAD!'
  3895.     if exists(MESS''HISREALNAME) then do
  3896.        call open(file, MESS''HISREALNAME, 'R')
  3897.             newflag = readln(file)
  3898.        call close(file)
  3899.     end
  3900.     if newflag = 0 then do
  3901.     call open(file, MESS''HISREALNAME, 'W')
  3902.          call writeln(file, newflag+1)
  3903.          call writeln(file, ALIAS)
  3904.          do i = 1 to 3
  3905.             call writeln(file, linea)
  3906.             call writeln(file, lineb)
  3907.             call writeln(file, linec)
  3908.          end
  3909.     call close(file)
  3910.     end
  3911.     if newflag > 0 then do
  3912.     call open(file, MESS''HISREALNAME, 'A')
  3913.          call writeln(file, ALIAS)
  3914.          do i = 1 to newflag
  3915.             call readln(file, linea)
  3916.             call readln(file, lineb)
  3917.             call readln(file, linec)
  3918.          end
  3919.     call close(file)
  3920.     call open(file, MESS''HISREALNAME, 'R')
  3921.          call readln(file, newflag+1)  
  3922.          do i = 1 to newflag*3
  3923.             call readln(file, ALIAS.i)
  3924.             call readln(file, linea)
  3925.             call readln(file, lineb)
  3926.             call readln(file, linec)
  3927.          end
  3928.     call close(file)
  3929.     call open(file, MESS''HISREALNAME, 'W')
  3930.          call writeln(file, newflag)
  3931.          do i = 1 to newflag*3
  3932.             call writeln(file, ALIAS.i)
  3933.             call writeln(file, linea.i)
  3934.          end
  3935.     call close(file)
  3936.     end
  3937. signal atmmenu
  3938.  end
  3939. Call Message DoorName,LineNumber,cyan'Sorry, that is incorrect!',1
  3940. call returnc
  3941. end
  3942. Call Blank
  3943. Call Message DoorName,LineNumber,'You are out of guesses. Maybe NEXT TIME!' ,1
  3944. call returnc
  3945. return
  3946.  
  3947. EDITPLAYER:
  3948. call nocarrier
  3949.  EDPLY = ''
  3950.  FOUNDTOEDIT = 0
  3951.  Call Prompt DoorName,LineNumber,green'Edit What Player (Alias) ('red'?'green' = User List): ',20
  3952.  EDPLY = upper(result)
  3953.  if EDPLY = 'NULL' | EDPLY = 'Q' then signal SYSOPMEN
  3954.  if EDPLY = '?' then do
  3955.    call userlist
  3956.    signal EDITPLAYER
  3957.  end
  3958.  call open(file, SAVE'ALIASES', 'R')
  3959.          TTUSER = readln(file)
  3960.       do i = 1 to TOTALUSERS
  3961.          OALIAS = readln(file)
  3962.          ORN = readln(file)
  3963.          if OALIAS = EDPLY then do
  3964.             OALIAS = EDPLY
  3965.             OREALNAME = ORN
  3966.             FOUNDTOEDIT = 1
  3967.          end
  3968.       end
  3969.  call close(file)
  3970.  if FOUNDTOEDIT = 0 then do
  3971.     Call HotKey DoorName,LineNumber,'Not in UserList, do you wish to add him(y/N)?'
  3972.      ANS = upper(result)
  3973.      if ANS = 'Y' then do
  3974.       OALIAS = EDPLY
  3975.       call addplayer
  3976.       call EDPLAYER
  3977.      end
  3978.     else signal SYSOPMEN
  3979.  end
  3980. call edplayer
  3981. signal sysopmen
  3982.  
  3983. EDPLAYER:
  3984.  call open(file, SAVE''OREALNAME, 'R')
  3985.       OALIAS = readln(file)
  3986.       OMONEY = readln(file)
  3987.       OMEGS = readln(file)
  3988.       OSCA = readln(file)
  3989.       OBW = readln(file)
  3990.       OTROJ = readln(file)
  3991.       ODRIVETYPE = readln(file)
  3992.       OTERMTYPE = readln(file)
  3993.       OEXPERIENCE = readln(file)
  3994.       OLASTFIGHT = readln(file)
  3995.       ONEWDATE = readln(file)
  3996.       OTOTALPLAYS = readln(file)
  3997.       OTOTALMEGSCRASHED = readln(file)
  3998.       OTOTALWINS = readln(file)
  3999.       OTOTALLOSS = readln(file)
  4000.       OMEGSLOST = readln(file)
  4001.       OBWUSED = readln(file)
  4002.       OTROJUSED = readln(file)
  4003.       OSCAUSED = readln(file)
  4004.       OMAINCOUNTER = readln(file)
  4005.       OPROTECT = readln(file)
  4006.       OBMONEY = readln(file)
  4007.       OATMPASS = readln(file)
  4008.       OEXPERT  = readln(file)
  4009. call close(file)
  4010.  call OCONVERSION2
  4011.  Call CLS
  4012.      OTNA = left(OREALNAME,20)
  4013.      OTAL = left(OALIAS,20)
  4014.      OTEX = left(OEXPERIENCE,7)
  4015.      OTMO = left(OMONEY,8)
  4016.      OTDT = left(ODRIVETYPE,2)
  4017.      OTTT = left(OTERMTYPE,2)
  4018.      OTST = left(OMEGS,3)
  4019.      OTML = left(OMEGSLOST,3)
  4020.      OTMC = left(OTOTALMEGSCRASHED,3)
  4021.      OTSC = left(OSCA,2)
  4022.      OTBW = left(OBW,2)
  4023.      OTTR = left(OTROJ,2)
  4024.      OUTR = left(OTROJUSED,2)
  4025.      OUBW = left(OBWUSED,2)
  4026.      OUSC = left(OSCAUSED,2)
  4027.      OTLN = left(OLEVNAME,35)
  4028.      OTLV = left(OLEVEL,2)
  4029.      OTBA = left(OBMONEY,8)
  4030.      OTPR = left(OPROTECT,2)
  4031.      OATM = left(OATMPASS,2)
  4032.      ommegs = olevel * 20
  4033.      omaxmegs  = left(ommegs,3)
  4034.      Call CLS
  4035.      Call Message DoorName,LineNumber,normal||MENU1,1
  4036.      Call Message DoorName,LineNumber,cyan'  Stats for 'red||OTNA||cyan'   Alias: 'red||OTAL||cyan'     'normal,1
  4037.      Call Message DoorName,LineNumber,MENU1,1
  4038.      Call Message DoorName,LineNumber,green'1.'cyan' Money: 'red'$'OTMO||green'  7.'cyan' Experience: 'red||OTEX||green'  13.'cyan' Money in Bank: 'red||OTBA,1
  4039.      Call Message DoorName,LineNumber,green'2.'cyan' Level: 'red||OTLV||green'         8.'cyan' Level Name: 'red||OTLN,1
  4040.      Call Message DoorName,LineNumber,green'3.'cyan' Drivetype: 'red||OTDT||green'     9.'cyan' Terminal: 'red||OTTT||green'         14.'cyan' Protection: 'red||OTPR,1
  4041.      Call Message DoorName,LineNumber,green'4.'cyan' Storage: 'red||OTST'/'omaxmegs||green' 10.'cyan' Megs lost: 'red||OTML||green'       15.'cyan' Megs Crashed: 'red||OTMC,1
  4042.      Call Message DoorName,LineNumber,green'5.'cyan' SCAs: 'red||OTSC||green'         11.'cyan' Byte Warriors: 'red||OTBW||green'    16.'cyan' Trojans: 'red||OTTR,1
  4043.      Call Message DoorName,LineNumber,green'6.'cyan' SCAs used: 'red||OUSC||green'    12.'cyan' BWs Used: 'red||OUBW||green'         17.'cyan' Trojans Used: 'red||OUTR        ,1
  4044.      Call Message DoorName,LineNumber,green'                    18.'cyan' ATM Password: 'red||OATM'     'normal,1
  4045.      call Message DoorName,LineNumber,normal,1
  4046.      OLFI = left(OLASTFIGHT,30)
  4047.      ODAT = left(ONEWDATE,11)
  4048.      OTPL = left(OTOTALPLAYS,2)
  4049.      OTWI = left(OTOTALWINS,2)
  4050.      OTLO = left(OTOTALLOSS,2)
  4051.      Call Message DoorName,LineNumber,green'                     WIN/LOSS/PLAY Statistics:'normal,1
  4052.      Call Message DoorName,LineNumber,'          'MENU2,1
  4053.      Call Message DoorName,LineNumber,green'           19.'cyan'       Last Fight: 'red||OLFI'     ',1
  4054.      Call Message DoorName,LineNumber,green'           20.'cyan'        Last Play: 'red||ODAT'     ',1
  4055.      Call Message DoorName,LineNumber,green'           21.'cyan'      Total Plays: 'red||OTPL'     ',1
  4056.      Call Message DoorName,LineNumber,green'           22.'cyan'       Total Wins: 'red||OTWI'     ',1
  4057.      Call Message DoorName,LineNumber,green'           23.'cyan'     Total Losses: 'red||OTLO'     'normal,1
  4058.      Call Message DoorName,LineNumber,'          'MENU2,1
  4059.      call Message DoorName,LineNumber,normal,1
  4060.      Call Message DoorName,LineNumber,'                       Q or 0 to EXIT'normal,1
  4061.      call Message DoorName,LineNumber,normal,1
  4062.      if FOUNDTOED = 1 then do
  4063.      Call HotKey DoorName,LineNumber,white'Do you really want to delete this player(y/N)?'
  4064.      ANS = upper(Result)
  4065.      if ANS = 'Y' then return
  4066.       else do
  4067.        Call Blank
  4068.        FOUNDTOED = 0
  4069.        signal deleteplay
  4070.       end
  4071.      end
  4072.      Call Prompt DoorName,LineNumber,white'What field to Edit 'red'(1-22)'normal'? ',2
  4073.         EDITFIELD = upper(result)
  4074.        if editfield = 'Q' | editfield = '0' then do
  4075.         Call readuser
  4076.         Signal EditPlayer
  4077.         end
  4078.        if editfield = '1' then do
  4079.         Call Prompt DoorName,LineNumber,'Change Current Money('OTMO')',8
  4080.         ANS = upper(result)
  4081.          if ANS = "NULL" | ANS < 0 | ANS > 99999999 then signal edplayer
  4082.          OMONEY = ANS
  4083.          call saveplay
  4084.          signal edplayer
  4085.          end
  4086.        if editfield = '2' then do
  4087.         Call Message DoorName,LineNumber,'Change Experience to Change Level',1
  4088.          call returnc
  4089.          signal edplayer
  4090.          end
  4091.        if editfield = '3' then do
  4092.          Drive = ODriveType
  4093.          call hardlist
  4094.         Call Prompt DoorName,LineNumber,'Change Current Drive Type (1-10)? ',2
  4095.         ANS = upper(result)
  4096.          if ANS = "NULL" | ANS < 1 then signal edplayer
  4097.          if ANS > 10 then ANS = 10
  4098.          ODRIVETYPE = ANS
  4099.          call saveplay
  4100.          signal edplayer
  4101.          end
  4102.        if editfield = '4' then do
  4103.         Call Message DoorName,LineNumber,'Note, change experience (Level) to change maximum megs',1
  4104.         Call Prompt DoorName,LineNumber,'Change Available Storage ('OMEGS'/'OMAXMEGS')',3
  4105.         ANS = upper(result)
  4106.          if ANS = "NULL" | ANS < 1 then signal edplayer
  4107.          if ANS > OMAXMEGS then ANS = OMAXMEGS
  4108.          OMEGS = ANS
  4109.          call saveplay
  4110.          signal edplayer
  4111.          end
  4112.        if editfield = '5' then do
  4113.         Call Prompt DoorName,LineNumber,'Change Current SCAs('OTSC')',3
  4114.         ANS = upper(result)
  4115.          if ANS = "NULL" | ANS > 99 | ANS < 0 then signal edplayer
  4116.          OSCA = ANS
  4117.          call saveplay
  4118.          signal edplayer
  4119.          end
  4120.        if editfield = '6' then do
  4121.         Call Prompt DoorName,LineNumber,'Change Current SCAs Used('OUSC')',3
  4122.         ANS = upper(result)
  4123.          if ANS = "NULL" |ANS > 99 | ANS < 0 then signal edplayer
  4124.          OSCAUSED = ANS
  4125.          call saveplay
  4126.          signal edplayer
  4127.          end
  4128.        if editfield = '7' then do
  4129.         call setexp
  4130.         Call Prompt DoorName,LineNumber,'Change Current Experience('green||OTEX')',7
  4131.         ANS = upper(result)
  4132.          if ANS = "NULL" | ANS > 9999999 | ANS < 0 then signal edplayer
  4133.          OEXPERIENCE = ANS
  4134.          call saveplay
  4135.          signal edplayer
  4136.          end
  4137.        if editfield = '8' then do
  4138.         Call Message DoorName,LineNumber,'Change Experience to Change Level Name',1
  4139.          call returnc
  4140.          signal edplayer
  4141.          end
  4142.        if editfield = '9' then do
  4143.          Term = OTermType
  4144.          call TERMLIST
  4145.         Call Prompt DoorName,LineNumber,'Change Current Term Type (1-15)?',2
  4146.         ANS = upper(result)
  4147.          if ANS = "NULL" | ANS < 1 | ANS > 15 then signal edplayer
  4148.          if ANS > 15 then ANS = 15
  4149.          OTERMTYPE = ANS
  4150.          call saveplay
  4151.          signal edplayer
  4152.          end
  4153.        if editfield = '10' then do
  4154.         Call Prompt DoorName,LineNumber,'Change Current Megs Lost('OTML')',3
  4155.         ANS = upper(result)
  4156.          if ANS = "NULL" | ANS > 999 | ANS < 0 then signal edplayer
  4157.          OMEGSLOST = ANS
  4158.          call saveplay
  4159.          signal edplayer
  4160.          end
  4161.        if editfield = '11' then do
  4162.         Call Prompt DoorName,LineNumber,'Change Current Byte Warriors('OTBW')',2
  4163.         ANS = upper(result)
  4164.          if ANS = "NULL" | ANS > 99 | ANS < 0 then signal edplayer
  4165.          OBW = ANS
  4166.          call saveplay
  4167.          signal edplayer
  4168.          end
  4169.        if editfield = '12' then do
  4170.         Call Prompt DoorName,LineNumber,'Change Current BWs Used('OUBW')',2
  4171.         ANS = upper(result)
  4172.          if ANS = "NULL" | ANS > 99 | ANS < 0 then signal edplayer
  4173.          OBWUSED = ANS
  4174.          call saveplay
  4175.          signal edplayer
  4176.          end
  4177.        if editfield = '13' then do
  4178.         Call Prompt DoorName,LineNumber,'Change Current Money in Bank('OTBA')',8
  4179.         ANS = upper(result)
  4180.          if ANS = "NULL" | ANS > 99999999 | ANS < 0 then signal edplayer
  4181.          OBMONEY = ANS
  4182.          call saveplay
  4183.          signal edplayer
  4184.          end
  4185.        if editfield = '14' then do
  4186.         Call Prompt DoorName,LineNumber,'Change Current Protection('OTPR')',2
  4187.         ANS = upper(result)
  4188.          if ANS = "NULL" then signal edplayer
  4189.          OPROTECT = ANS
  4190.          call saveplay
  4191.          signal edplayer
  4192.          end
  4193.        if editfield = '15' then do
  4194.         Call Prompt DoorName,LineNumber,'Change Current Megs Crashed('OTMC')',3
  4195.         ANS = upper(result)
  4196.          if ANS = "NULL" | ANS > 999 | ANS < 0 then signal edplayer
  4197.          OTOTALMEGSCRASHED = ANS
  4198.          call saveplay
  4199.          signal edplayer
  4200.          end
  4201.        if editfield = '16' then do
  4202.         Call Prompt DoorName,LineNumber,'Change Current Trojans('OTTR')',2
  4203.         ANS = upper(result)
  4204.          if ANS = "NULL" | ANS > 99 | ANS < 0 then signal edplayer
  4205.          OTROJ = ANS
  4206.          call saveplay
  4207.          signal edplayer
  4208.          end
  4209.        if editfield = '17' then do
  4210.         Call Prompt DoorName,LineNumber,'Change Current Trojans Used('OUTR')',2
  4211.         ANS = upper(result)
  4212.          if ANS = "NULL" | ANS > 99 | ANS < 0 then signal edplayer
  4213.          OTROJUSED = ANS
  4214.          call saveplay
  4215.          signal edplayer
  4216.          end
  4217.        if editfield = '18' then do
  4218.         Call Prompt DoorName,LineNumber,'Change Current ATM Password ('OATM')',2
  4219.         ANS = upper(result)
  4220.          if ANS = "NULL" then signal edplayer
  4221.          OATMPASS = ANS
  4222.          call saveplay
  4223.          signal edplayer
  4224.          end
  4225.        if editfield = '19' then do
  4226.         Call Prompt DoorName,LineNumber,'Change Current Last Fight('OLFI')',10
  4227.         ANS = upper(result)
  4228.          if ANS = "NULL" then signal edplayer
  4229.          OLASTFIGHT = ANS
  4230.          call saveplay
  4231.          signal edplayer
  4232.          end
  4233.        if editfield = '20' then do
  4234.         Call Prompt DoorName,LineNumber,'Change Current Last Play('ODAT')',10
  4235.         ANS = upper(result)
  4236.          if ANS = "NULL" then signal edplayer
  4237.          ONEWDATE = ANS
  4238.          call saveplay
  4239.          signal edplayer
  4240.          end
  4241.        if editfield = '21' then do
  4242.         Call Prompt DoorName,LineNumber,'Change Current Total Plays('OTPL')',2
  4243.         ANS = upper(result)
  4244.          if ANS = "NULL" | ANS > 99 | ANS < 0 then signal edplayer
  4245.          OTOTALPLAYS = ANS
  4246.          call saveplay
  4247.          signal edplayer
  4248.          end
  4249.        if editfield = '22' then do
  4250.         Call Prompt DoorName,LineNumber,'Change Current Total Wins('OTWI')',2
  4251.         ANS = upper(result)
  4252.          if ANS = "NULL" | ANS > 99 | ANS < 0 then signal edplayer
  4253.          OTOTALWINS = ANS
  4254.          call saveplay
  4255.          signal edplayer
  4256.          end
  4257.        if editfield = '23' then do
  4258.         Call Prompt DoorName,LineNumber,'Change Current Total Losses('OTLO')',2
  4259.         ANS = upper(result)
  4260.          if ANS = "NULL" | ANS > 99 | ANS < 0 then signal edplayer
  4261.          OTOTALLOSS = ANS
  4262.          call saveplay
  4263.          signal edplayer
  4264.          end
  4265. Call ReadUser
  4266. Signal edplayer
  4267.  
  4268. DELETEPLAY:
  4269. call nocarrier
  4270. FOUNDTOEDIT = 0
  4271. DLT = ''
  4272.  Call Prompt DoorName,LineNumber,green'Delete What Player (Alias) ('red'?'green' = User List): ',20
  4273.  DLT = upper(result)
  4274.  if DLT = 'NULL' | DLT = 'Q' then signal sysopmen
  4275.  if DLT = '?' then do
  4276.    call userlist
  4277.    signal deleteplay
  4278.  end
  4279.  call open(file, SAVE'ALIASES', 'R')
  4280.          TOTALUSERS = readln(file)
  4281.       do i = 1 to TOTALUSERS
  4282.          OALIAS = readln(file)
  4283.          ORN = readln(file)
  4284.          if OALIAS = DLT then do
  4285.             OALIAS = DLT
  4286.             OREALNAME = ORN
  4287.             FOUNDTOEDIT = 1
  4288.          end
  4289.          if ORN = SYSOPNAME then do
  4290.             FOUNDTOEDIT = 2
  4291.          end
  4292.       end
  4293.  call close(file)
  4294.  if FOUNDTOEDIT = 0 then do
  4295.   Call Blank
  4296.   Call Message DoorName,LineNumber,'Player was not found...',1
  4297.   call returnc
  4298.   signal sysopmen
  4299.  end
  4300.  if FOUNDTOEDIT = 2 then do
  4301.   Call Blank
  4302.   Call Message DoorName,LineNumber,'Sorry, You cannot delete yourself!...',1
  4303.   call returnc
  4304.   signal sysopmen
  4305.  end
  4306.  FOUNDTOED = 1
  4307.  Call EDPLAYER
  4308.  FOUNDTOED = 0
  4309.  flnm=SAVE''OREALNAME
  4310.  call deletefile
  4311.  flnm=MESS''OREALNAME
  4312.  call deletefile
  4313.    if exists(SAVE'ALIASES') then do
  4314.     call open(file, SAVE'ALIASES', 'R')
  4315.            TOTALUSERS = readln(file)
  4316.            TTUSERS = TOTALUSERS
  4317.         do i = 1 to TOTALUSERS*2
  4318.            fakename.i = readln(file)
  4319.            if fakename.i = DLT then FAKENAME.i = ''
  4320.            if fakename.i = OREALNAME then FAKENAME.i = ''
  4321.         end
  4322.       call close(file)
  4323.     call open(file, SAVE'ALIASES', 'W')
  4324.            TTUSERS=TTUSERS-1
  4325.            call writeln(file, TTUSERS)
  4326.         do i = 1 to TOTALUSERS*2
  4327.            if fakename.i ~= 'NULL' then
  4328.            call writeln(file, FAKENAME.i)
  4329.         end
  4330.       call close(file)
  4331.    end
  4332.  Call Blank
  4333.  Call Message DoorName,LineNumber,'This player is now deleted',1
  4334.  call returnc
  4335.  signal sysopmen
  4336.  end
  4337.  
  4338. ADDPLAYER:
  4339. Call Message DoorName,LineNumber,'Add a player ',1
  4340. Call Prompt DoorName,LineNumber,'What is the Real Name of the Player..Including _ for space >',20
  4341.    ONAME = UPPER(result)
  4342.    OREALNAME = ONAME
  4343.    if ONAME = 'NULL' then do
  4344.     call ReadUser    
  4345.     signal EditPlayer
  4346.    end
  4347. if exists(SAVE''ONAME) then do
  4348.    Call CLS
  4349.    Call Message DoorName,LineNumber,'Sorry, This name is already in use..',1
  4350.    MAINCOUNTER = 0
  4351.    signal addplayer
  4352.    end
  4353.    if exists(SAVE'ALIASES') then do
  4354.       MAINCOUNTER = 0
  4355.       Call MainVars
  4356.       call open(file, SAVE'ALIASES', 'R')
  4357.            TOTALUSERS = readln(file)
  4358.            TTUSERS = TOTALUSERS
  4359.           do i = 1 to TOTALUSERS
  4360.            ALIASname.i = readln(file)
  4361.            REALname.i = readln(file)
  4362.           end
  4363.       call close(file)
  4364.    end
  4365.    call open(file, SAVE'ALIASES', 'W')
  4366.    TTUSERS = TTUSERS + 1          
  4367.    call writeln(file, TTUSERS)
  4368.          do i = 1 to TOTALUSERS
  4369.            call writeln(file, ALIASname.i)
  4370.            call writeln(file, REALname.i)
  4371.          end
  4372.    call close(file)
  4373.    call open(file, MESS''ONAME, 'W')
  4374.         call writeln(file, '0')
  4375.    call close(file)
  4376.      if exists(SAVE'ALIASES') then do
  4377.       call open(file, SAVE'ALIASES', 'A')
  4378.            call writeln(file, OALIAS)
  4379.            call writeln(file, ONAME)
  4380.       call close(file)
  4381.    end
  4382. Call OWrite
  4383.  Call Message DoorName,LineNumber,'User added with basic features..',1
  4384. Call Returnc
  4385. return
  4386.  
  4387. RESETGAME:
  4388. i = 0
  4389. call open(file, SAVE'ALIASES', 'R')
  4390.           TOTALUSERS = readln(file)
  4391.        do i = 1 to TOTALUSERS
  4392.           ALIASname.i = readln(file)
  4393.           REALname.i = readln(file)
  4394.        end
  4395. call close(file)
  4396. do i = 1 to TOTALUSERS
  4397.   if exists(SAVE''REALname.i) then do
  4398.     flnm=SAVE''REALname.i
  4399.     call deletefile
  4400.   end
  4401.   if exists(MESS''REALname.i) then do
  4402.     flnm=MESS''REALname.i
  4403.     call deletefile
  4404.   end
  4405. end
  4406. if exists(SAVE'ALIASES') then do
  4407.   flnm=SAVE'ALIASES'
  4408.   call deletefile
  4409. end
  4410. if exists(SAVE'RESET') then do
  4411.   flnm=SAVE'reset'
  4412.   call deletefile
  4413. end
  4414. call resetphones
  4415. return
  4416.  
  4417. IOERR:
  4418. line=sigl
  4419. code = rc
  4420. Call Blank
  4421. Call Message DoorName,LineNumber,'*BOOM*  Got an IO error.  PLEASE notify the sysop.',1
  4422. Call Message DoorName,LineNumber,'Line:' LINE '   Severity:' CODE,1
  4423. Call Blank
  4424. Call Message DoorName,LineNumber,'PLEASE write down the TYPE of ERROR and the LINE # and',1
  4425. Call Message DoorName,LineNumber,'leave the SYSOP a message so he may get it corrected.',1
  4426. call returnc
  4427. if exists(SAVE"ERRORLOG") then do
  4428.  call open(errorfile, SAVE"errorlog", "A")
  4429.   call writeln(errorfile, "While "NAME" was using "doorname" this error occured:")
  4430.   call writeln(errorfile, "*Error*  Line: "LINE" SEVERITY: "CODE)
  4431.   call ertext
  4432. end
  4433. else do
  4434. call open(errorfile, SAVE"errorlog", "W")
  4435.  call writeln(errorfile, "While "NAME" was using "doorname" this error occured:")
  4436.  call writeln(errorfile, "*Error*  Line: "LINE" SEVERITY: "CODE)
  4437.  call ertext
  4438. end
  4439. signal quickexit
  4440.  
  4441. ERROR:
  4442. line=sigl
  4443. code = RC
  4444. Call Blank
  4445. Call Message DoorName,LineNumber,'*BOOM*  Got an error.  PLEASE notify the sysop.',1
  4446. Call Message DoorName,LineNumber,'Line:' LINE '   Severity:' CODE,1
  4447. Call Blank
  4448. Call Message DoorName,LineNumber,'PLEASE write down the TYPE of ERROR and the LINE # and',1
  4449. Call Message DoorName,LineNumber,'leave the SYSOP a message so he may get it corrected.',1
  4450. call returnc
  4451. if exists(SAVE"ERRORLOG") then do
  4452.  call open(errorfile, SAVE"errorlog", "A")
  4453.   call writeln(errorfile, "While "NAME" was using "doorname" this error occured:")
  4454.   call writeln(errorfile, "*Error*  Line: "SIGL" SEVERITY: "CODE)
  4455.   call ertext
  4456. end
  4457. else do
  4458. call open(errorfile, SAVE"errorlog", "W")
  4459.  call writeln(errorfile, "While "NAME" was using "doorname" this error occured:")
  4460.  call writeln(errorfile, "*Error*  Line: "SIGL" SEVERITY: "CODE)
  4461.  call ertext
  4462. end
  4463. signal quickexit
  4464.  
  4465. SYNTAX:
  4466. line = SIGL
  4467. code = RC
  4468. Call Blank
  4469. Call Message DoorName,LineNumber,' *BOOM*  Got a syntax error.  PLEASE notify the sysop.',1
  4470. Call Message DoorName,LineNumber,' Line:' LINE '   Error Code:' CODE,1
  4471. Call Blank
  4472. Call Message DoorName,LineNumber,'PLEASE write down the TYPE of ERROR and the LINE # and',1
  4473. Call Message DoorName,LineNumber,'leave the SYSOP a message so he may get it corrected.',1
  4474. call returnc
  4475. if exists(SAVE"ERRORLOG") then do
  4476.  call open(errorfile, SAVE"errorlog", "A")
  4477.   call writeln(errorfile, "While "NAME" was using "doorname" this error occured:")
  4478.   call writeln(errorfile, "*Error*  Line: "LINE" SEVERITY: "CODE)
  4479.   call ertext
  4480. end
  4481. else do
  4482. call open(errorfile, SAVE"errorlog", "W")
  4483.  call writeln(errorfile, "While "NAME" was using "doorname" this error occured:")
  4484.  call writeln(errorfile, "*Error*  Line: "LINE" SEVERITY: "CODE)
  4485.  call ertext
  4486. end
  4487. signal quickexit
  4488.  
  4489. NOCARRIER:
  4490. Call CDetect DoorName,LineNumber
  4491.  
  4492. carrier = upper(result)
  4493.  if carrier = 'NO CARRIER' then signal quickexit
  4494. return
  4495.  
  4496. QUICKEXIT:
  4497. call Exit_Door DoorName,LineNumber
  4498. exit 0
  4499.  
  4500. OUTPUT:
  4501. call message doorname,linenumber,string,1
  4502. return
  4503.  
  4504. CLS:
  4505. string = cls
  4506. call output
  4507. return
  4508.  
  4509. BLANK:
  4510. string = " "
  4511. call output
  4512. return
  4513.  
  4514. BEXIT:
  4515. if bullopt = 1 then call topbull
  4516. TOTALPLAYS = TOTALPLAYS + 1
  4517. call writeuser
  4518. string = normal"You've been using "red||doorname||normal" by "green||author||normal"."
  4519. call output
  4520. call blank
  4521. Call HotKey DoorName,LineNumber,"Thank you, "purple||alias||normal", please press [RETURN] or [ENTER]."
  4522. call blank
  4523. call Exit_Door DoorName,LineNumber
  4524. exit 0
  4525.  
  4526. DELETEFILE:
  4527. address command "delete "flnm
  4528. return
  4529.  
  4530. ERTEXT:
  4531.  call writeln(errorfile, menu3)
  4532.  call writeln(errorfile, "Please report this to the AUTHOR, "author" A.S.A.P so it may be corrected!")
  4533.  call writeln(errorfile, "You may DELETE this file as soon as you send it to the AUTHOR, "author".")
  4534.  call writeln(errorfile, menu3)
  4535. call close(errorfile)
  4536. return
  4537.  
  4538. RESETPHONES:
  4539. if exists(PHONES'LOCAL') then do
  4540.   call open(file, PHONES'LOCAL', 'R')
  4541.    telnum = readln(file)
  4542.     do i = 1 to telnum
  4543.       LOCALNAME.i = readln(file)
  4544.       LOCALNUM.i = readln(file)
  4545.       LOCALMEGS.i = readln(file)
  4546.       LOCALWINS.i = readln(file)
  4547.       LOCALLOSS.i = readln(file)
  4548.     end
  4549.   call close(file)
  4550. do i = 1 to telnum
  4551.   LOCALWINS.i = 0
  4552.   LOCALLOSS.i = 0
  4553. end
  4554.   call open(file, PHONES'LOCAL', 'W')
  4555.    call writeln(file, telnum)
  4556.     do i = 1 to telnum
  4557.       call writeln(file, LOCALNAME.i)
  4558.       call writeln(file, LOCALNUM.i) 
  4559.       call writeln(file, LOCALMEGS.i) 
  4560.       call writeln(file, LOCALWINS.i) 
  4561.       call writeln(file, LOCALLOSS.i) 
  4562.     end
  4563.   call close(file)
  4564. if exists(PHONES'MAINFRAMES') then do
  4565.   call open(file, PHONES'MAINFRAMES', 'R')
  4566.    telnum = readln(file)
  4567.     do i = 1 to telnum
  4568.       LOCALNAME.i = readln(file)
  4569.       LOCALNUM.i = readln(file)
  4570.       LOCALMEGS.i = readln(file)
  4571.       LOCALWINS.i = readln(file)
  4572.       LOCALLOSS.i = readln(FILE)
  4573.     end
  4574.   call close(file)
  4575. do i = 1 to telnum
  4576.   LOCALWINS.i = 0
  4577.   LOCALLOSS.i = 0
  4578. end
  4579.   call open(file, PHONES'MAINFRAMES', 'W')
  4580.    call writeln(file, telnum)
  4581.     do i = 1 to telnum
  4582.       call writeln(file, LOCALNAME.i)
  4583.       call writeln(file, LOCALNUM.i) 
  4584.       call writeln(file, LOCALMEGS.i) 
  4585.       call writeln(file, LOCALWINS.i) 
  4586.       call writeln(file, LOCALLOSS.i) 
  4587.     end
  4588.   call close(file)
  4589. if exists(PHONES'LOCAL') then do
  4590.   call open(file, PHONES'GOV', 'R')
  4591.    telnum = readln(file)
  4592.     do i = 1 to telnum
  4593.       LOCALNAME.i = readln(file)
  4594.       LOCALNUM.i = readln(file)
  4595.       LOCALMEGS.i = readln(file)
  4596.       LOCALWINS.i = readln(file)
  4597.       LOCALLOSS.i = readln(FILE)
  4598.     end
  4599.   call close(file)
  4600. do i = 1 to telnum
  4601.   LOCALWINS.i = 0
  4602.   LOCALLOSS.i = 0
  4603. end
  4604.   call open(file, PHONES'GOV', 'W')
  4605.    call writeln(file, telnum)
  4606.     do i = 1 to telnum
  4607.       call writeln(file, LOCALNAME.i)
  4608.       call writeln(file, LOCALNUM.i) 
  4609.       call writeln(file, LOCALMEGS.i) 
  4610.       call writeln(file, LOCALWINS.i) 
  4611.       call writeln(file, LOCALLOSS.i) 
  4612.     end
  4613.   call close(file)
  4614. return
  4615.